Como guardar el resultado de un Callbak en una variable Global
Publicado por Yoel (6 intervenciones) el 08/11/2019 19:09:14
Tengo la siguiente situación, estoy haciendo una consulta a una base de datos WebSql con phonegap (cordova) . El proceso de la consulta se me ejecuta sin problema cuando imprimo el resultado en la consola, puedo ver todos los datos. El detalle lo tengo cuando trato de guardar los datos en una variable global (dataSet) que tengo declarada, la cual me devuelve vació en esta variable necesito que se almacene todo el contenido de la función querySuccess() a continuación les dejo el código para ver si me pueden ayudar.
Gracias
Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
document.addEventListener("deviceready", onDeviceReady, false);
dataSet = [];
// Populate the database
//
function populateDB(tx) {
}
// Query the database
//
function queryDB(tx) {
tx.executeSql('SELECT * FROM `inventario`', [], querySuccess, errorCB);
}
// Query the success callback
//
function querySuccess(tx, results) {
var len = results.rows.length,
i;
var dataSet = Array.from(Array(len), () => new Array(18));
for (i = 0; i < len; i++) {
regdatos = results.rows.item(i).codigo + "#" + results.rows.item(i).nombre + "#" + results.rows.item(i).inventario + "#" + results.rows.item(i).imagen + "#" + results.rows.item(i).volumenoz + "#" + results.rows.item(i).volumenml + "#" + results.rows.item(i).proveedor + "#" + results.rows.item(i).linea + "#" + results.rows.item(i).tipo + "#" + results.rows.item(i).cajaalmacen + "#" + results.rows.item(i).preciodecompra + "#" + results.rows.item(i).preciodeventamxn + "#" + results.rows.item(i).colores + "#" + results.rows.item(i).codigodebarras + "#" + results.rows.item(i).unidadescompradas + "#" + results.rows.item(i).ordendecompra + "#" + results.rows.item(i).unidadesvendidas + "#" + results.rows.item(i).ordendeventa;
dataSet[i][i] = regdatos.split("#");
}
console.log(dataSet);
return dataSet;
}
// Transaction error callback
//
function errorCB(err) {
console.log("Error processing SQL: " + err.code);
}
// Transaction success callback
//
function successCB() {
var db = window.openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(queryDB, errorCB);
}
function onDeviceReady() {
var db = window.openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(populateDB, errorCB, successCB);
}
onDeviceReady();
console.log(dataSet);
Valora esta pregunta


0