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);
})
});
Please help me understand above code about Promise.all()
I know this Promise object has an call() method,but as I know it's a static method, it should not be used as above,eg: new Promise.all(),but it give me no error. Why-why-why...
the code above has no error
But, my code as following was wrong..give me an error
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')
})