Sqlite 将数据从DB helper类返回到组件
我正在使用sqlite,并创建了一个db帮助器类。我并没有从组件内的那个类获取数据,但如果我在db helper内安慰它,它工作正常,但在组件中不工作。我给出我的代码:- Cartdb.js。(辅助班) 组件中的代码:Sqlite 将数据从DB helper类返回到组件,sqlite,react-native,Sqlite,React Native,我正在使用sqlite,并创建了一个db帮助器类。我并没有从组件内的那个类获取数据,但如果我在db helper内安慰它,它工作正常,但在组件中不工作。我给出我的代码:- Cartdb.js。(辅助班) 组件中的代码: 我如何在这里获取数据?提前感谢。这是一个异步操作,这意味着它是一个承诺。最好的方法是将回调传递给函数,或者将db操作作为promise和chain返回。这里有一些关于javascript的文档 带有回调: class CartDB { constructor(){ } tota
我如何在这里获取数据?提前感谢。这是一个异步操作,这意味着它是一个承诺。最好的方法是将回调传递给函数,或者将db操作作为promise和chain返回。这里有一些关于javascript的文档 带有回调:
class CartDB {
constructor(){
}
totalItems = 0;
checkCountOfProduct(callback){
query = "SELECT SUM(count) AS product_count FROM Predefinedcart";
db.transaction((tx) => {
tx.executeSql(query, [], (tx, results) => {
console.log(results.rows.item(0).product_count)
this.totalItems = results.rows.item(0).product_count;
callback(this.totalItems)
}, function (tx, error) {
console.log('SELECT error: ' + error.message);
});
})
}
}
class CartDB {
constructor(){
}
totalItems = 0;
checkCountOfProduct(){
query = "SELECT SUM(count) AS product_count FROM Predefinedcart";
return new Promise((resolve, reject) => db.transaction((tx) => {
tx.executeSql(query, [], (tx, results) => {
console.log(results.rows.item(0).product_count)
this.totalItems = results.rows.item(0).product_count;
resolve(this.totalItems);
}, function (tx, error) {
reject(error);
});
}))
}
}
在Comp中,您可以调用:
CartDB.checkCountOfProduct(count=>console.log(count))代码>
承诺:
class CartDB {
constructor(){
}
totalItems = 0;
checkCountOfProduct(callback){
query = "SELECT SUM(count) AS product_count FROM Predefinedcart";
db.transaction((tx) => {
tx.executeSql(query, [], (tx, results) => {
console.log(results.rows.item(0).product_count)
this.totalItems = results.rows.item(0).product_count;
callback(this.totalItems)
}, function (tx, error) {
console.log('SELECT error: ' + error.message);
});
})
}
}
class CartDB {
constructor(){
}
totalItems = 0;
checkCountOfProduct(){
query = "SELECT SUM(count) AS product_count FROM Predefinedcart";
return new Promise((resolve, reject) => db.transaction((tx) => {
tx.executeSql(query, [], (tx, results) => {
console.log(results.rows.item(0).product_count)
this.totalItems = results.rows.item(0).product_count;
resolve(this.totalItems);
}, function (tx, error) {
reject(error);
});
}))
}
}
在Comp中调用:CartDB.checkCountOfProduct()。然后(count=>console.log(count))代码>