Как обрабатывать одно и несколько обещаний в одном коде Promise.all ()? upload () - это асинхронная функция
например,
let promises = [];
promises.push( upload('file1.txt','file1.txt') );
promises.push( upload('file2.txt','file2.txt') );
Promise.all(promises).then( data => {
// this forEach is fine as 'data' is an array
data.forEach( function(f) {
console.log("Uploaded:", f.name); }
);
}).catch(error => {
console.error(error.message);
});
, но если я попытаюсь выполнить обещание только с одним файлом, forEach завершится неудачей.
let promises = [];
promises.push( upload('file1.txt','file1.txt') );
Promise.all(promises).then( data => {
// this forEach FAILS as data is an object
data.forEach( function(f) {
console.log("Uploaded:", f.name); }
);
}).catch(error => {
console.error(error.message);
});