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

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

如何從異步方法輸出值

如何從異步方法輸出值

SMILET 2022-10-27 16:06:11
我想創建一個返回圖像路徑的異步方法,如下所示:const renderMasterThumb = async (masterAssetId) => {    const masterAsset = await getAssetByIdAsync(masterAssetId);    const path = masterAsset.path;    return path;  };然后我這樣調用方法:<img    src={`images/${(async () => {    await getAssetByIdAsync(collection.masterAssetId);    })()}`}    alt="master thumb"/>但是,我得到了一個 Promise 對象,而不是圖像路徑:<img src="images/[object Promise]" alt="master thumb">有人知道我如何通過調用異步方法輸出值(例如'bart.jpg')嗎?
查看完整描述

1 回答

?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

你 JSX 中的匿名async函數仍然返回一個 promise,就像你調用的那個一樣。你需要從根本上重構你的 React 組件。任何一個:

  1. 正在執行此操作的組件必須能夠在它還沒有結果時呈現getAssetByIdAsync(可能是一些“加載”占位符),或者

  2. 在結果可用之前,根本不應該渲染該組件,這意味著getAssetByIdAsync在父組件而不是這個組件中進行調用。

您需要這樣做以便有時間完成異步操作。在執行此操作的任何組件中,您都可以在調用 to時使用.thenand來處理它返回的承諾的履行或拒絕。.catchgetAssetByIdAsync


查看完整回答
反對 回復 2022-10-27
  • 1 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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