169 похожих чатов

Если последний then в цепочке чтой-то возвращает, почему бы не

взять значение авайтом?

20 ответов

24 просмотра

Нуу, это совсем частный кейс Автор там явно не это пытался сделать)

Зачем вообще цепочки строить, если можно await использовать?

Anton Permyakov
Зачем вообще цепочки строить, если можно await исп...

Выше писал: если хочешь параллельные запросы сделать

это обычно решается через Promise.all/allSettled

Artyom Tuchkov
это обычно решается через Promise.all/allSettled

Ну, а если ты хочешь каждый из промисов обработать сразу после завершения?

Kirill Galimov
Ну, а если ты хочешь каждый из промисов обработать...

это можно сделать заранее, создав массив промисов, где будет асинхронный коллбэк и любая нужная тебе обработка

Ruslan
асинхронный колбэк = квазипромис

ты этот промис ждешь ниже через all/allSettled, поэтому он вполне себе полноценный и работает как обычно

Artyom Tuchkov
ты этот промис ждешь ниже через all/allSettled, по...

Я написал что одним await некоторые ситуации не сделать. Запрос одновременный на бэк двух фетчей, каждый из них должен резолвнуть response в json, после обоих резолвов надо сделать вывод Как напишешь такое только на await?

это другой случай

Alex Αλέξιος Borodin
В чем разница?

await Promis.all([ fetch(url1).then(r => r.json()); fetch(url2).then(r => r.json()); ]); Первый fetch выполняется 1 секунду, конвертация в json - 2 секунды Второй fetch выполняется 2 секунды, конвертация в json - 1 секунду Итого всё выполняется 3 секунды Напиши то же самое на await чтобы занимало 3 секунды

Ruslan
await Promis.all([ fetch(url1).then(r => r.json...

const first = async () => { const data = await fetch('url'); // takes 1 second const json = await data.json(); // takes 2 seconds console.log(json); }; const second = async () => { const data = await fetch('url'); // takes 2 seconds const json = await data.json(); // takes 1 second console.log(json); }; await Promise.all([first(), second()]); // takes 3 seconds любой кейс можно точно так же переписать на await, просто в разных ситуациях может быть где-то удобнее then, а где-то await

Artyom Tuchkov
const first = async () => { const data = await...

Ты вводишь новые сущности, которых не было, и которые просто эмулируют цепочку then промисов await - бинарен. Промисы позволяют удобно работать с небинарными состояниями асинхронной функции. Компьютер тоже разбивает всё в итоге на 0 и 1.

Ruslan
Ты вводишь новые сущности, которых не было, и кото...

Так никто не топит за await, речь идет о том, чтобы не смешивать стили в "одном предложении"

Alex Αλέξιος Borodin
Так никто не топит за await, речь идет о том, чтоб...

Сначала - да Потом поднялся вопрос об их эквивалентности

Ruslan
Сначала - да Потом поднялся вопрос об их эквивален...

Они в своей природе -- одно. Это факт. Но облегчив один из аспектов использования, усложнили другой. Обычное дело

Ruslan
Ты вводишь новые сущности, которых не было, и кото...

в реальных кейсах эти “новые сущности” уже созданы - это функции, которые как раз делают запрос и обрабатывают его, ты же не пишешь их каждый раз инлайново поэтому там ты просто импортируешь нужные функции и ждешь их через Promise.all + очень часто можно спокойно дождаться завершения всех запросов и потом уже что-то делать, либо вообще делать ничего не нужно

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта