猿问

node.js的闭包函数中怎样使用async/await?

使用了nodesqlite3这个module,其中某个数据表有很多记录,需要用db.all()方法获取并随机选择其中一条返回。但这是个稍微耗时的操作,需要使用async/await。
letsqlite3=require('sqlite3').verbose();
letdb=newsqlite3.Database('example.db');
asyncfunctionread()
{
db.all('select*fromfoowherebar=?',1,awaitfunction(err,rows){
returnnewPromise(function(resolve,reject){
if(rows&&rows.length>0){
letkey=Math.floor(Math.random()*(rows.length-0+1)+0);
resolve(rows[key]);.//在外部函数中获取这个值
}else{
reject(err);
}
});
});
}
怎样才能获取其中rows[key]的返回值?
UPDATE:根据MDN相关文档,尝试读取这个返回值,但得到的是undefined???
read().then(test=>{
console.log(test);//结果是undefined???
});
慕妹3146593
浏览 575回答 2
2回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答