亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

返回值未定義??梢愿嬖V我應該做什么來修復它嗎?

返回值未定義。可以告訴我應該做什么來修復它嗎?

達令說 2023-09-14 20:46:44
store 的值是未定義的。colud 告訴我我做錯了什么。我應該使用 Async 和 wait 還是 Promise ?var store = 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.          return send;            // Getting required data for send. Problem here is returning it and storing it in store.        } else {          return null;        }      });console.log("商店-->", 商店);這里 store 的值是未定義的。沒有適當的回報
查看完整描述

1 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

您無法寫入要存儲的結果并在之后立即看到它,db.read因為db.read它不會等待回調完成,也不會從中返回數據作為返回值。


您應該將此調用包裝到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);

        }

      });

});

請閱讀有關異步函數的更多信息,async/await以及Promise如何將帶有回調的函數轉換為異步函數。


查看完整回答
反對 回復 2023-09-14
  • 1 回答
  • 0 關注
  • 95 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號