你好,我想弄清楚如何处理这个弃用的代码
const authCtx = (auth: AngularFireAuth) =>
setContext(async () => {
const token = await auth.idToken.pipe(take(1)).toPromise();
return {
headers: {
Authorization: `Bearer ${token}`,
},
};
});
我从Firebase获取jwt令牌并在用户登录时在graphQL模块上设置该令牌但我收到toPromise已弃用的警告它说我应该实现lastValueFrom或firstValueForm所以我想我可以这样做:
const authCtx = (auth: AngularFireAuth) =>
setContext(async () => {
const token = lastValueFrom(auth.idToken)
return {
headers: {
Authorization: `Bearer ${token}`,
},
};
});
我不太确定更新这段代码的正确方法是什么
你可以用firstValueFrom
const authCtx = (auth: AngularFireAuth) =>
setContext(() =>
firstValueFrom(auth.idToken.pipe(
map(token => ({ headers: {
Authorization: `Bearer ${token}`
}}))
)
);