У меня есть две наблюдаемые в контейнере с именами settings
и settingsLoading
.У меня есть вызов API, который извлекает некоторые настройки, и после его завершения для settingsLoading
будет установлено значение true, а settings
будет содержать данные из API.Я передаю данные settings
компоненту и передаю settingsLoading
тому же компоненту, что и Observable.
В этом компоненте, как показано ниже, я подписываюсь на settingsLoading
Observable, и один раззагрузка ложна, я делаю пару журналов консоли, чтобы я мог посмотреть на данные настроек, которые теперь должны быть установлены.Журнал консоли всегда возвращает ноль, если я не заверну его в течение 0 секунд.Зачем мне это делать?Это надежный способ справиться с этим?Есть ли лучший способ сделать это, чтобы я мог избежать тайм-аута?
В приведенном ниже коде первый журнал консоли всегда будет возвращать ноль, а второй, кажется, всегда содержит данные, которые я ожидаю:
subscribeToLoadSettings() {
this.settingsLoading.subscribe(loading => {
if (!loading) {
// This doesn't work
console.log('settings', this.settings);
setTimeout(() => {
// This works
console.log('settings', this.settings);
}, 0);
}
});
}