Что бы отсечь такую вероятность, я для этого и генерирую уникальный айдишник в nuxtServerInit При каждой отработке сср, генерируется новый айди, его я добавляю в console.log после каждого запроса на стороне ССР. Если страница загружается без прерывания, то всё супер. Везде логи запросов с одним уникальным айди и все отрабатывают. Сначала те которые из nuxtServerInit, так как он раньше в жизненном цикле Накст, потом из asyncData. Если я обновлю страницу и снова дождусь загрузки, тоже всё будет замечательно. Но если я за одну секунду, сделаю 5 раз обновление страницы, не давая загрузится предыдущим 4м попыткам и загляну в логи, я увижу странную ситуацию. Ожидаемая картина - это серия запросов с уникальными айди которые идут вместе, потом след серия с другим айди, потом еще. Сколько было кликов на обновление, столько и серий логов. Но по итогу, я могу запросы с одним и тем же айди увидеть в начале логов, и допустим где-то посредине, где сверху и снизу запросы с другим уникальным айди. Каждое обновление это ж как новый сеанс, они не должны в консоли перемешиваться, а идти в определённом порядке. В общем если совсем кратко и абстрагироваться от моего кейса, что происходит на Накст, именно на стороне ноды, если прервать загрузку страницы обновлением этой страницы? По идее ж создается новый сеанс, а прошлый недозагруженый дропается.
я очень сомневаюсь, что это так работает с современными браузерами
я был в вашей ситуации, когда у меня nuxtserverinit отрабатывал по несколько и сейчас отрабатывает так, если я консольку поставлю внутри аксиоса или еще чего, поэтому я и сказал, что это к наксту никакого отношения не имеет, но как от этого избавится? видимо ваше (как и мое в чем-то) написано неправильно
ну да вроде всё работает корректно, но вот это непонимание, что за движ под капотом - напрягает) надо будет завтра логи сервака почитать, которые именно в файл log пишутся, повторим такую многократную загрузку
но(!) после обновления это прошло
что еще за "новый сеанс", если в наскте под капотом куча промисов один за другим, то как ему отменить начавшуюся цепочку? (если даже он видит обрыв TCP соединения, который случается при остановке загрузки) навставлять своих какихто проверок между каждым этапом жизненного цикла? врядли там такое есть ибо никому ненадо) соответственно имеем что отрабатывает каждый жизненный цикл до конца (хоть и не долетает до браузера получившийся ответ) отсюда и все сообщения, что здесь такого)
Угу, спасибо за ответ. Я к такому же выводу пришел вчера)
Обсуждают сегодня