【发布时间】:2019-02-10 20:48:06
【问题描述】:
AppInitializer 类
dataloadcomplete = false;
initializeApp() {
let promise = new Promise((resolve, reject) => {
Promise.all(promise).then(
(res) => { dataloadcomplete = true; resolve() },
(err) => { reject(); },
);
return promise;
}
可以激活路由
canActivate(route: ActivatedRouteSnapshot): Promise<Boolean> {
// if data load completed return true else false;
}
想要在国家变更时重新初始化应用程序。
【问题讨论】:
-
了解
Subject及其用法jasonwatmore.com/post/2018/06/25/… -
@Amit Chigadani 是的,但值多次更改
-
有什么办法可以重试promise
-
是的,这就是 Subject 为您所做的。您可以从一个组件发出任意多次。并且侦听器组件将订阅它并在每次发出新值时接收。它是一个异步编程。
-
但就我而言,我想等到数据加载完成。如果完成,我将加载应用程序,否则不会。如果用户更改或国家/地区更改,则可以重新开始此数据加载,无需刷新 url
标签: javascript angular