Я пытаюсь написать функцию, которая возвращает асинхронное обещание.Использование setTimeout
из 100 мс для имитации разрешения обещания, за исключением G (одно из обещаний), это setTimeout
составляет 200 мс.Каждый шаг - это отдельное асинхронное обещание.
Я хочу, чтобы каждое обещание начиналось после выполнения предыдущего шага.Все обещания регистрируют свои имена и параметры дохода в консоли и предоставляют имя в результате следующих обещаний.Основной поток: a -> (b + c + d) -> e -> f -> h -> i -> j `-> g -> /
Здесь: (b + c + d)- означает, что 3 обещания должны выполняться параллельно 'i' ждет обоих g & h.Результаты каждого предыдущего задания должны быть представлены следующему заданию.
var promise = new Promise(function(resolve, reject)) {
setTimeout(resolve, 100);
});
Promise.all([promise.resolve(a), promise.resolve(b+c+d), promise.resolve(e), promise.resolve(f), promise.resolve(g)...]).then(function(values) {
console.log(values);
});