el valor de la matriz no muestra la longitud, pero cuando lo abro, el elemento existe. pero la longitud y algunas otras funciones de la matriz no funcionan... """const getingLikedNft = async () => { setMyNftLoading(true); const res = await axios.get( ${BACKEND_URL}views_and_likes ); console.log(" resshan", res); // let LikeNft = []; 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);};"""
puede ver que muestra una matriz vacía. 
pero cuando abro esto, el elemento existe.
como puedo solucionar esto amablemente ayuda...
Está realizando una llamada asíncrona para cada iteración en el bucle forEach . Pero la ejecución de forEach finalizará antes de que obtenga una respuesta para cada una de sus llamadas asíncronas.
Cuando imprime myLikedNft en la consola, en el momento de la impresión, la matriz no tiene datos porque las llamadas asíncronas no se han resuelto. Pero cuando los expande en la consola, le da el valor más reciente de la expresión.