1 回答

TA貢獻1875條經(jīng)驗 獲得超5個贊
當您 console.log 數(shù)組時,很可能該數(shù)組仍然是空的。
console.log(results); // full array, i.e. ['bing', 'bong', 'boom']
console.log(results.length); // 0
運行時console.log(results.length),它正在執(zhí)行,這就是打印出來console.log(0)的原因。0
運行時,console.log(results)它將稍后打印出數(shù)組。該數(shù)組稍后在最終運行時填充。(所以 console.log 不是同步的——稍后它會打印出一些東西。)resultsconsole.log()
你可以試試
console.log(JSON.stringify(results));
并且您可能會看到一個空數(shù)組,因為JSON.stringify(results)立即評估它是什么并在當前時間將其轉換為字符串,而不是稍后。
看起來您正在獲取一些數(shù)據(jù)。正確的方法通常是通過回調(diào)或承諾的履行處理程序:
fetch(" some url here ")
.then(response => response.json())
.then(data => console.log(data));
因此,在調(diào)用回調(diào)或“履行處理程序”之前,您不會擁有數(shù)據(jù)。如果你console.log(results.length)當時,你應該得到正確的長度。(數(shù)據(jù)就在那里)。
添加回答
舉報