Android 未显示react本机sqllite值

Android 未显示react本机sqllite值,android,ios,react-native,sqlite,react-native-sqlite-storage,Android,Ios,React Native,Sqlite,React Native Sqlite Storage,这是getDetails() getDetails=()=>{ 让userDetails=[]; 数据库事务((tx)=>{ tx.executeSql('从角色=?'的用户中选择*,['学生],(tx,结果)=>{ 让详细信息=[] 如果(results.rows.length>0){ for(设i=0;i

这是getDetails()

getDetails=()=>{
让userDetails=[];
数据库事务((tx)=>{
tx.executeSql('从角色=?'的用户中选择*,['学生],(tx,结果)=>{
让详细信息=[]
如果(results.rows.length>0){
for(设i=0;i
在上面的代码片段中,我能够在tx.executeSql中获取数据(userDetails),但不能在db.transaction块之外


任何人都可以帮助我如何显示db.transaction块之外的数据。

定义一个promise函数,用于从db获取
用户详细信息

async dbAction = () => {
  return new Promise((resolve, reject) => {
    db.transaction((tx) => {
          tx.executeSql('select * from users where role=?',['students'],(tx,results) => {
               let details = []
               if(results.rows.length > 0){
                    for(let i=0; i < results.rows.length; i++){
                          details.push(results.rows.item(i));
                    }
               }
               //Data is displayed  here
               resolve(details);
          })
     })
  });
}

嘿,非常感谢。你救了我一天,也减少了我的努力。再次感谢。
async dbAction = () => {
  return new Promise((resolve, reject) => {
    db.transaction((tx) => {
          tx.executeSql('select * from users where role=?',['students'],(tx,results) => {
               let details = []
               if(results.rows.length > 0){
                    for(let i=0; i < results.rows.length; i++){
                          details.push(results.rows.item(i));
                    }
               }
               //Data is displayed  here
               resolve(details);
          })
     })
  });
}
getDetails = () => {
     let userDetails = [];
     try {
       let userDetails = await dbAction();
       console.log(userDetails);
     } catch (e) {
     }
}