Тригерить перерисовку с любого Observable
Если Observable не связан с обращением к серверу или событием в браузер, при его срабатывании Angular не перерисовывает контент. Что делать, чтоб не химичить с зоной?
Оказывается, достаточно переключить Observable на разрешённый промис с помощью Promise.resolve:
@Injectable({
providedIn: 'root'
})
class SomeService {
doSomething(): OBservable<numeric> {
return this.someCallReturnsObservable().pipe(
/* Some actions */,
switchMap((a: numeric) => Promise.resolve(a))
)
}
}
Ваш комментарий
Комментарии