Я видел много ответов здесь в Stackoverflow, рекомендующих людям обрабатывать несколько асинхронных вызовов, используя Promise.all
.Я действительно думаю, что Promise.all () помогает, когда выполняются вызовы для выполнения аналогичной работы, но у меня есть несколько проблем с этим подходом:
- Если для выполнения обещаний требуется другое время;
- Если вы можете начать выполнять работу с задачами по мере их поступления.Promise.all ожидает разрешения (или отклонения) Обещаний, чтобы начать выполнение обратного вызова.На мой взгляд, это главный аргумент в пользу этого подхода.
Есть ли другой подход?
Например, в React (с использованием хуков) мы можем сделать что-то вроде этого:
useEffect(() => {
setValue1(await fetch(url1));
});
useEffect(() => {
setValue2(await fetch(url2));
});
Но мне это не кажется правильным ... хотя, может быть, это "правильно".
В любом случае, моя причина опубликовать это - я был бы очень признателен за хорошее представление о том, как подходить к асинхронным вызовам, которые обрабатывают другую логику.
Спасибо.