的對象字面量(哈希值)我有一種情況,使用Promise.all
(如Promise.all({})
)代替更標準的Promise.all([])會很方便。Promise.all
但這似乎並沒有工作
Promise.all({a:1,b:2}).then(function(val){
console.log('val:',val);
});
,而這樣做當然
Promise.all([1,2,3]).then(function(val){
console.log('val:',val);
});
(什麼我希望將是Promise.all的對象字面的值映射,但將鑰匙保持原樣。)
但the MDN docs for Promise似乎表明Promise都將適用於任何迭代。據我所知,一個對象文字{}
是一個可迭代的。那麼我錯過了什麼?
不,'{}'是不是一個迭代。 – 2016-03-07 01:19:41
從這些文檔中我們不清楚{}是否是一個可迭代的,但它似乎是https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols –
@AlexMills不確定爲什麼你認爲它不清楚。您鏈接的MDN文章解釋了「*某些內置類型是內置迭代,具有默認迭代行爲,如Array或Map,而其他類型(如Object)不是*」。 – Oriol