【发布时间】:2019-08-31 03:17:35
【问题描述】:
在我的 Angular 7 应用程序中,我有下一个功能:
getUserData(uid) {
return this.fireStore.collection('users').doc(uid).valueChanges().subscribe(data => {
this.writeCookie(data)
this.currentUser = data;
})
}
我想在另一个方法中使用这个函数:
someMethod() {
...
new Promise(this.getUserData(uid))
.then(() => {...})
...
}
但我不能这样做,因为 TypeScript 会抛出错误:
“订阅”类型的参数不能分配给类型参数 '(resolve: (value?: {} | PromiseLike) => void, reject: (reason?: 任何)=> 无效)=> 无效'。类型“订阅”不匹配 签名 '(resolve: (value?: {} | PromiseLike) => void, 拒绝:(原因?:任何)=> void):void'.ts(2345)
如何将getUserData() 方法转换为promise,或者改用forJoin?
提前致谢。
【问题讨论】:
标签: angular typescript promise rxjs angular-promise