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

Народ, измучился, второй день с этим рендером сижу, хоть впору

вместо всех этих .then влупить setTimeout по 2 секунды, и пропади оно всё.
Что делает код на фото:
- с фронта приходит пост-запрос.
- он склеивается, потом проверка - что в теле,
- в зависимости от тела, 2 варианта обращения к базе данных: добавление или удаление.
- по окончании операции добавления\удаления нужно получить все записи из БД и отрендерить (отрисовать) страницу PUG с этими данными.
Но дело в том, что новая страница не рисуется - остаётся старая + наверху во вкладке крутится кольцо загрузки.
Что я делаю не так?

16 ответов

21 просмотр
Ayrat- Автор вопроса

воткнул в итоге двухсекундный таймаут. Что характерно - после добавления записи страница обновляется, а после удаления - нет, хотя таймаут на рендер стоит в самом низу и как бы должен делаться в любом случае:

Ayrat- Автор вопроса

народ, кто шарит в .then и express - хелп, плз. 🆘 Скоро сутки будут, как всё это тупит и не поддаётся доке и логике. Там - я уверен - 2 строки исправить, и всё заработает. https://code-with-me.global.jetbrains.com/W17Nt7LfQm1ABiw3SVjuUQ#p=WS&fp=EFD0F087A61BB710BEE76A19855F6FC95C3DD9DD451558E34CBD1C95562EB1BE

Ayrat
народ, кто шарит в .then и express - хелп, плз. 🆘 ...

Вот тут вроде норм расписано как работает асинхронность в ноде https://nodejs.dev/learn/the-nodejs-event-loop

Ayrat
воткнул в итоге двухсекундный таймаут. Что характе...

Перепишите на async/await, дабы избавиться от nested then. Тогда и код понятнее станет

Ayrat- Автор вопроса
Ilya
Перепишите на async/await, дабы избавиться от nest...

я поубирал эвейты. Дзен мне более понятен. Один фиг не работает.

Ayrat
я поубирал эвейты. Дзен мне более понятен. Один фи...

Настолько более понятен, что вы не понимаете, в чём проблема

Ayrat- Автор вопроса
Ilya
Настолько более понятен, что вы не понимаете, в чё...

а вы понимаете? подскажите, плз. код выложил: https://onecompiler.com/javascript/3y65t25vx нижний гет прекрасно работает с then

Мож надо res.end() ?

Ayrat- Автор вопроса
John Doe
Мож надо res.end() ?

посмотри плз свежий код https://onecompiler.com/javascript/3y664j6xt

Ayrat
посмотри плз свежий код https://onecompiler.com/ja...

Ну ты тут вроде вообще ответ не отправлешь? Что надо сделать?

Ayrat- Автор вопроса
John Doe
Ну ты тут вроде вообще ответ не отправлешь? Что на...

я уже не знаю, куда тут втыкать res.render уже везде, где логично, тыкал его, и с таймаутами, и без.

Ayrat
я уже не знаю, куда тут втыкать res.render уже вез...

Я не помню как render метод работает. Но можешь попробовать res.end сразу же после res.render() вызвать. По описанию, у тебя ответ либо не отправляется, либо не завершается

Ayrat
я поубирал эвейты. Дзен мне более понятен. Один фи...

убери чтение из стрима. просто распарси req.body https://stackoverflow.com/questions/11625519/how-to-access-the-request-body-when-posting-using-node-js-and-express router.post('/', function (req, resp) { const body = req.body; // { type: 'noteText', data: 'bla-bla' if (body.type === 'noteText') ... У тебя возврат из роутера происходит раньше, чем стрим до конца читается, поэтому запрос виснет

Ayrat- Автор вопроса
Ayrat
переделал, толку нет.

А ошибки в консоли есть?

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта