2. lib / js / bdEjecuta.js

1/**
2 * @param { Promise<IDBDatabase> } bd
3 * @param { string[] } entidades
4 * @param { (t:IDBTransaction) => void } operaciones
5 */
6export async function bdEjecuta(bd, entidades, operaciones) {
7
8 // Espera que se abra la bd
9 const base = await bd
10
11 return new Promise(
12 (resolve, reject) => {
13 // Inicia una transacción de lectura y escritura.
14 const transaccion = base.transaction(entidades, "readwrite")
15 // Al terminar con éxito, ejecuta la función resolve.
16 transaccion.oncomplete = resolve
17 // Al terminar con error, ejecuta la función reject.
18 transaccion.onerror = () => reject(transaccion.error)
19 // Estas son las operaciones de la transacción.
20 operaciones(transaccion)
21 })
22
23}
skip_previous skip_next