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

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

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

16 ответов

8 просмотров
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
переделал, толку нет.

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

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

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

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann Chapmann
19
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта