从商店获取价值时遇到问题。操作挂起。我尝试以下列方式获取数据:
async onInit(params: Params) {
// it hangs on the line bellow
var userToken = await this.store.select(fromRoot.getUserToken).toPromise();
console.log(userToken);
}
然后我执行以下异步函数:
ngOnInit(): void {
this.route.params.subscribe(params => {
this.onInit(params).then(() => console.log('promise executed'));
});
永远不会返回用户令牌。
如果我订阅商店,那么它可以正常工作。
this.store.select(fromRoot.getUserToken).subscribe(ut => {
console.log(ut);
});
答案 0 :(得分:1)
我最近也遇到了这个问题。正如@ maxime1992指示的那样,您需要一个运算符来结束可观察的对象。
async onInit(params: Params) {
// it hangs on the line bellow
var userToken = await this.store.select(fromRoot.getUserToken).pipe(take(1)).toPromise();
console.log(userToken);
}