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

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

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

20 ответов

9 просмотров

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

Зачем вообще цепочки строить, если можно 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 + очень часто можно спокойно дождаться завершения всех запросов и потом уже что-то делать, либо вообще делать ничего не нужно

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

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

Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
было так ;void set_http_ver(RESPD* ptr, char* version, uint32_t length) // example: 'RTSP/1.1 ' set_http_ver: mov eax, [esp + 4] mov ecx, [esp + 8] ...
Mixail Frolov
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
зачем же переименовывать ? чтобы кол-во участников возросло или вдруг IBM от этого снова на свифте начнет кодить ? Я не понимаю что страшного в том что свифт гавно, если это т...
Oleh Nerzh
10
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
Evo 1.4.34 PHP 7.4 Все работало штатно. На ровном месте SimpleGallery начал выдавать ошибку Что может быть? Уже все переустановил по новой. Места хватает. Хостинг reg.ru
Paul Savchenkov
6
здравствуйте. совершаю вот такую вещь: strcpy(line, (char)current_number); где current number — неподписанный шорт, line — массив чаров. ругань следующая: main.c:29:30: error...
Roberto's Ширгозиев
13
юзеры Jetpack Compose тут?
Qtless Qtless
8
Карта сайта