Я использую [email protected]
пакет в моем Метеоре углового проекте.
Meteor.user()
возвращает текущие данные пользователя, но когда я обновляю страницу, она возвращает undefined
. Так можно ли удалить эту ошибку? Любая помощь будет оценена.
Meteor.autorun(function () {
vm.loggedInUser = Meteor.user();
});
Он работает нормально, но когда я перезагружаю страницу, он возвращает undefined
Meteor.autorun(function () {
vm.loggedInUser = Meteor.user();
console.log("loggedInUser", vm.loggedInUser); // undefined
});
Когда вы обновляете страницу, Meteor.user()
будет неопределен на несколько циклов, пока ее данные не будут повторно переданы с сервера на клиент через websocket/ddp. В конечном итоге он будет определен и будет иметь правильные данные. Одностраничные приложения, такие как встроенные в Meteor, обычно не требуют обновления страницы, но должны иметь дело с ситуацией, когда пользователь обновляется вручную. Типичным решением является показ ролика загрузки, пока подписчики и пользовательские данные не станут готовы.
Также он Tracker.autorun()
не Meteor.autorun()
Meteor.user()
должен оставаться доступным, тогда как во втором случае он аналогичен реальному обновлению страницы.