Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react本机react本机sqlite存储未返回结果_Javascript_Reactjs_React Native_Sqlite - Fatal编程技术网

Javascript react本机react本机sqlite存储未返回结果

Javascript react本机react本机sqlite存储未返回结果,javascript,reactjs,react-native,sqlite,Javascript,Reactjs,React Native,Sqlite,我正在使用react原生SQLite存储中的SQLite数据库 我没有得到警报中显示的结果 它显示未定义的 我也尝试不使用wait和async 主文件 数据库助手 import React,{Component}来自'React'; var SQLite=require('react-native-SQLite-storage'); var dbName=“test.db”; var tableName=“tableName”; 常量DBHelper={ getWatchList:()=>{ v

我正在使用react原生SQLite存储中的SQLite数据库

我没有得到警报中显示的结果
它显示未定义的

我也尝试不使用wait和async

主文件

数据库助手

import React,{Component}来自'React';
var SQLite=require('react-native-SQLite-storage');
var dbName=“test.db”;
var tableName=“tableName”;
常量DBHelper={
getWatchList:()=>{
var db=SQLite.openDatabase({name:dbName,createFromLocation:1},openCB,errorCB);
数据库事务((tx)=>{
tx.executeSql(“从”+表名中选择*,
[],(发送,结果)=>{
console.log(“\n\n查询已完成\n”);
var resultItemIdArr=新数组();
for(设i=0;i{
log(“SQL错误:+err”);
}
const successCB=()=>{
log(“SQL执行良好”);
}
常量openCB=()=>{
console.log(“数据库已打开”);
}
导出默认DBHelper;

我想打印alert中的resultItemIdArr值。您在这里使用回调
db.transaction((tx)=>{
,因此您在回调中返回
resultItemIdArr
。如果lib不支持承诺,您应该这样做:

getWatchList: (callback) => {
    var db = SQLite.openDatabase({name : dbName, createFromLocation : 1}, openCB,errorCB);
    db.transaction( (tx) => {
        tx.executeSql("select * from " + tableName, 
                      [], (tx, results) => {
            console.log("\n\nQuery completed\n");
            var resultItemIdArr = new Array();
            for (let i = 0; i < results.rows.length; i++) {
                resultItemIdArr.push(results.rows.item(i).itemId);
                console.log(results.rows.item(i).itemId);
            }
            callback(resultItemIdArr);
        });
    });
},

我对react native中的sqlite有一些问题,您能帮助我吗?
import React, {Component} from 'react';
var SQLite = require('react-native-sqlite-storage');
var dbName = "test.db";
var tableName = "tableName";
const DBHelper = {
    getWatchList: () => {
        var db = SQLite.openDatabase({name : dbName, createFromLocation : 1}, openCB,errorCB);
        db.transaction( (tx) => {
            tx.executeSql("select * from " + tableName, 
                          [], (tx, results) => {
                console.log("\n\nQuery completed\n");
                var resultItemIdArr = new Array();
                for (let i = 0; i < results.rows.length; i++) {
                    resultItemIdArr.push(results.rows.item(i).itemId);
                    console.log(results.rows.item(i).itemId);
                }
                return resultItemIdArr;
            });
        });
    },
}

const errorCB = (err) => {
  console.log("SQL Error: " + err);
}

const successCB = () => {
  console.log("SQL executed fine");
}

const openCB = () => {
  console.log("Database OPENED");
}

export default DBHelper;
getWatchList: (callback) => {
    var db = SQLite.openDatabase({name : dbName, createFromLocation : 1}, openCB,errorCB);
    db.transaction( (tx) => {
        tx.executeSql("select * from " + tableName, 
                      [], (tx, results) => {
            console.log("\n\nQuery completed\n");
            var resultItemIdArr = new Array();
            for (let i = 0; i < results.rows.length; i++) {
                resultItemIdArr.push(results.rows.item(i).itemId);
                console.log(results.rows.item(i).itemId);
            }
            callback(resultItemIdArr);
        });
    });
},
dbTransaction = () => {
    DBHelper.getWatchList(value=>{
      alert(value)
    })

}