Open chestozo opened 9 years ago
Ну т.е. получается во время reconstruct
:
Есть такое. Это то, что я тогда не доделал. Нужно на клиенте находить асинхронные виды и вызывать для них update
Я в своих частных случаях решил это отказом от асинхронности, но это не всегда правильный путь
Я пока решил это вызовом ns.Update.render
на клиенте, вместо ns.Update.reconstruct
(
Ну т.е. у тебя страница рендерится 2 раза :) Смысл серверного рендеринга пропадает процентов на 90
ну лан, не на 90. Ты всё же отдаёшь страницу ботам и показываешь что-то сразу. Просто заставляешь браузер больше работать
Ну модели зато уже на месте и первый рендеринг сразу делается. Я понимаю, что это не круто, я просто описал, как залечить по-быстрому. Но нужен нормальный фикс, это да.
Вот и мы тоже это захотели
Вроде, довольно просто пофиксить так: если у async вида есть все модели и они валидны - state
должен быть сразу ok
, а не loading
. См #520
Есть такой интересный кейс: есть
async
вид, который зависит от какого-то набора моделей. Когда мы рендерим на сервере страницу запрашиваются модели только для синхронных видов.В нашем интересном кейсе получается так, что синхронные модели включают модели, нужные нашему асинхронному виду.
В итоге на сервере рендерится мода
ns-view-async-content
мода, а на клиенте модаns-view-content
не рендерится.renderHTML
, а затемreconstruct
должен давать то же, что иrender
)