有人可以幫我理解爲什麼解決循環中的承諾只在我訪問循環變量時才起作用?例如,該記錄5次:解決循環中的承諾
for (let i = 0; i < 5; i++) {
this.getData()
.then(() => console.log("gotData " + i));
}
但這只是記錄一次:
for (let i = 0; i < 5; i++) {
this.getData()
.then(() => console.log("gotData"));
}
時的getData()定義爲:
private getData(): Promise<void> {
return Promise.resolve();
}
什麼是正確的方式來處理承諾循環?
我認爲這是錯誤(可能是關於循環優化)。 (++ i <5)'時,我只是想知道它是如何工作的,如果用'while'重寫'for'循環' – oklas
看看你的控制檯。你在輸出的最右側看到一個「5」嗎?如果相等,瀏覽器控制檯會將多個輸出摺疊爲一個。當然,如果文本不同,它就不能這樣做。 – Matthias247