1.Конвертировать ваши обратные вызовы, чтобы пообещать
Например, конвертировать
function mutilpy(a, b, callback) {
let result = a*b;
return callback(result);
}
в
function multiply(a, b) {
return new Promise(function(resolve, reject) {
let result = a*b;
resolve(result);
})
}
2.(В некотором роде) поставить в очередь ваши обратные вызовы для завершения
var promise1 = Promise.resolve(3);
var promise2 = 42;
var promise3 = multiply(10,3);
Promise.all([promise1, promise2, promise3]).then(function(values) {
// YOU GET HERE WHEN ALL PROMISES ARE RESOLVED
console.log(values);
});
// expected output: Array [3, 42, 30]