Новое обещание не работает с db.transaction - PullRequest
1 голос
/ 19 июня 2019

Я работаю с sqlite (act-native-sqlite-storage) в React-native, и у меня возникла проблема с обещаниями в данный момент. Я хочу закрыть базу данных:

    this.dataUsuarios= await fetchData(this.url);    
    db = await openDB();
    await this.insertarDatos();
    db.close();

Дело в том, что это вызывает у меня проблемы при выполнении db.close, потому что this.insertarDatos () все еще обрабатывает, но idk почему. Я думаю, что мое новое обещание должно сработать!

insertarDatos = () =>{
    return new Promise((resolve, rejection)=>{
      db.transaction((tx) => {
          for(let i in this.dataUsuarios){
            const sql = `INSERT INTO usuarios VALUES (
              ${this.dataUsuarios[i].id}, 
              '${this.dataUsuarios[i].nombre}',
              '${this.dataUsuarios[i].usuario}',
              '${this.dataUsuarios[i].password}',
              ${this.dataUsuarios[i].grupo},
              '${this.dataUsuarios[i].faenas}'
            );`;
            tx.executeSql(sql, [],  this.successCB(i), this.errorCB);
          }
      },resolve,rejection);
    });
  }
...