1 回答

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊
您無法寫入要存儲的結(jié)果并在之后立即看到它,db.read因為db.read它不會等待回調(diào)完成,也不會從中返回數(shù)據(jù)作為返回值。
您應(yīng)該將此調(diào)用包裝到new Promise. 它可能看起來像這樣:
var store = await (new Promise(resolve, reject) => {
db.read(collectionName, (status, data) => {
//database read function
if (status) {
names.listOfData = data;
var send = names;
console.log("send---->", send); // send value here is what I need to return.
resolve(send);
} else {
resolve(null);
}
});
});
請閱讀有關(guān)異步函數(shù)的更多信息,async/await以及Promise如何將帶有回調(diào)的函數(shù)轉(zhuǎn)換為異步函數(shù)。
添加回答
舉報