Наконец async
/await
будет поддерживается во всем крупном браузере в ближайшее время, кроме IE.
Итак, теперь мы можем начать писать более читаемый код с помощью async
/await
, но есть улов. Многие люди используют async ждут вот так:
const userResponse = await fetchUserAsync();
const postsResponse = await fetchPostsAsync();
Хотя этот код доступен для чтения, он имеет проблемы, он запускает функции последовательно, он не запускает выборку сообщений до тех пор, пока выборка пользователя не будет завершена. Решения просты, нам нужно собрать ресурсы параллельно.
Так что я хочу сделать (в псевдоязыке):
fn task() {
result-1 = doAsync();
result-2 = doAsync();
result-n = doLongAsync();
// handle results together
combinedResult = handleResults(result-1, result-2);
lastResult = handleLastResult(result-n);
}