使用了nodesqlite3這個module,其中某個數(shù)據(jù)表有很多記錄,需要用db.all()方法獲取并隨機(jī)選擇其中一條返回。但這是個稍微耗時的操作,需要使用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]);.//在外部函數(shù)中獲取這個值}else{reject(err);}});});}怎樣才能獲取其中rows[key]的返回值?UPDATE:根據(jù)MDN相關(guān)文檔,嘗試讀取這個返回值,但得到的是undefined???read().then(test=>{console.log(test);//結(jié)果是undefined???});
node.js的閉包函數(shù)中怎樣使用async/await?
慕妹3146593
2019-05-24 18:25:02