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

Доброго времени суток всем. У меня вопрос по поводу асинхронности

Node.js.
Есть какая-либо функция my_function. Скажите пожалуйста все эти 3 функции выполнятся гарантированно одна за другой или есть вероятность что Node.js может внутри всунуть другую асинхронную функцию между скажем first_async_func и second_async_func?

16 ответов

8 просмотров

Гарантированно

Andrey-Bondarenko Автор вопроса

Хорошо, спасибо!

Когда ты пишешь await, то технически это что-то вроде обёртки следующего кода в .then(...) Так что да, гарантированно

Andrey-Bondarenko Автор вопроса

Да, не подумал с такого ракурса, спасибо!)

Именно между ними не может. Но после выполнения первой, может выполниться какая-то другая функция в другом месте, если вдруг тебя это интересует.

Andrey-Bondarenko Автор вопроса

Да, вот я интересовался что если я опираюсь на какое-то хранилище, то не станет ли это проблемой для асинхронности.

Andrey-Bondarenko Автор вопроса

Скажем у меня есть массив полный объектов, которые помечены как заблокированные. Когда наступает действие А мне нужно разблокировать некоторые из объектов, а после действия А снова их заблокировать. При этом мне категорически нельзя чтобы были открыты объекты для А и B одновременно.

Одна из причин, почему не рекомендуется использовать глобальные переменные.

Ну так это же флагами решается, разве нет?

Andrey-Bondarenko Автор вопроса

Просто если функции с await идут одна за другой то такая проблема у меня не возникнет

Andrey-Bondarenko Автор вопроса

Каким образом?

Если обращение к объектам идёт только из my_function() то не возникнет. Если ещё откуда-то то возникнет.

Andrey-Bondarenko Автор вопроса

Что вы подразумеваете под откуда-то еще? Другой процесс на компьютере?

Нет, вторая функция. Которая вне этой.

Andrey-Bondarenko Автор вопроса

Ну ведь есть асинхронная очередь?

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

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

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

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
10
Всем вечера. Подскажите как лучше сделать. делаю на Д10 Например будет база данных на SQLite. в ней будет много таблиц. более 50шт Типа справочник. Содержать ID Name Id p...
Андрей Т 🐎
10
это группа токсиков или тех кто помогает?
Ибрагим
9
Я короче решил скомпилировать Nim в js, я думал он сработает как обычный транслятор. По итогу он мне создал файл с расширением js, и туда поместил кучу кода Вопрос, что это з...
𝕾𝖍𝖆𝖉𝖊 <suspense>
8
мы пытаемся подменить функцию, которая имеет меньше инструкций относительно функции, которой подменяем. https://www.reddit.com/r/jailbreakdevelopers/comments/w06ujy/mshookfun...
Óðinn
6
Всем здравствуйте!) У меня такой вопрос. Есть два роута, роут1 и роут2. Они связаны с очередью some_queue. По задаче предполагается, что есть два паблиша. Паблиш1 отправляет...
Format
10
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
Добрый день! Хочу спросить совета. Хочется в скрипт добавить некую конструкцию, что скрипт создал файл, который нужно потом скопировать в определенное место. Нашел такой сп...
Mikhail
4
Карта сайта