簡體   English   中英

數組值不顯示長度,但當我打開時元素存在

[英]array value not showing length, but when i open so the element is exist

數組值不顯示長度,但當我打開時元素存在。 但是長度和數組的一些其他功能不起作用...“”“const getingLikedNft = async () => { setMyNftLoading(true); const res = await axios.get( ${BACKEND_URL}views_and_likes ); console.log(" resshan", res); // 讓 likedNft = []; var myLikedNft = new Array();

res?.data.forEach((element) => {
  // console.log("xshan", element);
  if (element?.likedAccounts.length > 0) {
    element?.likedAccounts.forEach(async (elem) => {
      if (elem?.toLowerCase() == user?.address?.toLowerCase()) {
        console.log("resshan_elem", element);
        try {
          let res = await axios.post(`${BACKEND_URL}single-nft`, {
            tokenId: element.tokenId,
            tokenAddr: element.tokenAddr,
          });
          console.log("reslikedNFT", res.data);
          // const uri = await contracts?.closedSeaNft?.methods
          //   .tokenURI(element.tokenId)
          //   .call();
          // const res = await axios.get(uri);
          var nftData = {
            description: res?.data?.metadata?.description,
            image: res?.data?.metadata?.imageUrl,
            title: res?.data?.metadata?.name,
            url: `/asset/${res?.data?.tokenAddr}/${res?.data?.tokenId}`,
          };
          console.log("reslikedN22FT2324232", Array.prototype.nftData);
          myLikedNft = [...myLikedNft, nftData];
          // myLikedNft.push({
          //   description: nftData.description,
          //   image: nftData.imageUrl,
          //   title: nftData.name,
          //   url: `/asset/${res?.data?.tokenAddr}/${res?.data?.tokenId}`,
          // });
        } catch (err) {
          console.log("element?.likedAccounts [err]", err);
        }
        // likedNft.push(element);
        // console.log("elem", elem);
      }
    });
  }
});
console.log("reslikedNFT2321312341312dasd", myLikedNft);
setMyLikesCollection(myLikedNft);
setTimeout(() => {
  setMyNftLoading(false);
}, 2000);

};"""

你可以看到它顯示的是空數組。 在此處輸入圖像描述

但是當我打開它時,元素就存在了。

在此處輸入圖像描述

我該如何解決這個好心的幫助...

您正在為forEach循環中的每次迭代進行異步調用。 但是forEach的執行將在您獲得每個異步調用的響應之前完成。

當您將myLikedNft打印到控制台時,在打印時,數組沒有數據,因為異步調用尚未解析。 但是當您在控制台中展開它們時,它會為您提供表達式的最新值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM