Anonymous
а мне нужно thread 1
Anonymous
1 2 3 Thread 2
Вадим
Ну) так он устроен, значит нужно как-то изменить структуру приложение
Anonymous
Вадим
я изначально не правильно понял вопрос
Anonymous
я изначально не правильно понял вопрос
зада состоит в том чтобы выводило так как вызывается при этом чтобы асинхронная функция не давала выполнится оператору ниже и выводила свой результат
Anonymous
то есть сделать из асинхронной синхронную
Igor
Вадим
Вадим
Если возникла такая задача
Igor
Игорь
Игорь
Конкретно в твоём примере
Вадим
Ну делаются же)
Igor
Можешь асинк эвейт заюзать
Игорь
И неважно 1000 мс или 0, это будет новая задача и она выполнится после выполнения текущей, то есть уже после step 2
Anonymous
Короче напишу проще чтобы вам было понятнее, нужно выполнить функцию (она себе там что то выполняет) и дальше идти нельзя пока функция не выполнит все (функция асинхронная ) а все это выполняется в основном потоке
Anonymous
То есть Step 0 (ждем пока асинхронная функция выполнит свое тело вернет Step 1) потом выполним код ниже Step 2
Anonymous
и все это без await потому что его нельзя использовать без async
Anonymous
Игорь
MaxGraey
и все это без await потому что его нельзя использовать без async
Похоже ты хочешь начертить 8 строго перпендикулярных линий на плоскости, две из которых красные а остальные прозрачные=) Я думаю все это смотрели. У тебя уже есть одна функция с async. Почему ты не можешь сделать ту что во внешнем скоупе тоже асинхронной и т д далее вплоть до самой корневой если понадобиться? Кажется я начинаю понимать твою проблему)
Igor
https://codesandbox.io/s/xenodochial-brook-npuku Оно?
Вадим
Дело в том, что все то, что в основном потоке всеравно произойдет первее чем дело дойдет до выполнения асинхронных функций
Igor
Вадим
Ему нужен эффект как от alert, когда вызов этой функции блокирует абсолютно всё
Igor
Вадим
async await, промисы это все не блокирующая тема, а как писать блокирующий код, подобно alert или readFileSync и прочее с окончанием Sync я хз
Вадим
Задача стоит в остановке главного потока
Anonymous
Вадим
о_О
Igor
Anonymous
для меня да, я просто мозг сломал и то не понял как оно, для меня как для новичка это не то что магия и пи** какой то
Anonymous
как это все выучить и понимать
Вадим
magic 🧚♀️
я то думал нужно реализовать функцию, как readFileSync, которая вообще всё блочит
Вадим
Igor
Anonymous
на С++ легче фронт делать чем на JS Бэк
Dmitry
Anonymous
Ну да, например мне с базы нужно вытянуть кое что и тут же сразу его обработать
Anonymous
как это сделать когда одно в одном колбэеке другое еще в одном а третье в основном потоке
Igor
MaxGraey
Можно еще так:
(async function () {
await Promise.all([
foo(1),
foo(2),
foo(3)
]);
console.log('last');
})();
Тогда foo(1), foo(2) и foo(3) будут выполняться конкуррентно (читай одновременно), дожидаться пока все промисы зарезолвятся (закончаться) а потом только будет вызван console.log('last')
Anonymous
MaxGraey
Beginer Не слушай никого, есть уже вменяемые фреймворки. Тот же Nest например:
https://github.com/nestjs/nest
Igor
Igor
Anonymous
Igor
Anonymous
не нашёл своего - добавь, с радостью приму пулл запрос)
Anonymous
если что то нужное
Вадим
Вадим
Ну как бы это считается нормальным в кругах ноды
MaxGraey
Возьми и затести
Ты хотя бы это пробовал?
https://docs.nestjs.com/techniques/performance
Igor
Anonymous
Igor
Затести, сам, потом расскажешь
Igor
Anonymous
Igor
возможность создавать модели, миграции делать
Anonymous
Anonymous
пойду to-do пополнять
MaxGraey
nest
Requests/sec: 9093.64
nest-fastify
Requests/sec: 17233.87
express
Requests/sec: 10444.24
MaxGraey
А теперь давай свои пруфы, что nest медленный
Anonymous
Добрый день! Какие есть веб-студии по заказам под ключ? Дайте не самые распиаренные :)
Anonymous
Если не хотите тут кого-то "рекламировать", то, пожалуйста, не стесняйтесь писать в личку
Anonymous