let iconsLoaded = new Promise((resolve, reject) => {
new Promise.all(
Object.keys(icons).map(iconName => {
const Provider = icons[iconName][2] || defaultIconProvider; // Ionicons
return Provider.getImageSource(
iconName.replace(replaceSuffixPattern, ''),
icons[iconName][0],
icons[iconName][1]
)
})
).then(sources => {
Object.keys(icons)
.forEach((iconName, idx) => iconsMap[iconName] = sources[idx])
// Call resolve (and we are done)
resolve(true);
})
});
请帮助我理解上面关于Promise.all()的代码
我知道这个Promise对象有一个call()方法,但据我所知它是一个静态方法,它不应该像上面那样使用,例如:new Promise.all(),但它没有给我任何错误。为什么,为什么,为什么...
上面的代码没有错误
但是,我的代码如下错误。给我一个错误
let p2 = new Promise(function(resolve, reject){
console.log('p2 body')
resolve('p2 resolve')
})
let p1 = new Promise(function(resolve, reject){
console.log('p1 body')
resolve('p1 resolve')
})
var p = new Promise(function(resolve, reject){
new Promise.all([p2,p1])
.then(function(){
console.log('all(p2, p1) then')
})
console.log('p body')
})