gpt4 book ai didi

javascript - 将 Observable.subscribe() 返回的值分配给 const

转载 作者:行者123 更新时间:2023-12-03 00:01:14 24 4
gpt4 key购买 nike

我正在尝试从 Ionic4-Angular 前端向我的 Django API 发送请求,问题是我还没有熟悉这项技术,甚至还没有熟悉 javascript。在下面的代码中,我尝试返回订阅数据并将其分配给 const。

async getUserLogged() {
const tkn = await this.authService.getToken();
const user = await this.http
.post('http://localhost:8000/api/getuser/', {
token: tkn
})
.subscribe(response => {
console.log(response);
return response;
});
console.log(user);

return user;
}

第一个 console.log 包含我正在搜索的真实对象。但是,第二个打印 Subscriber 对象。谁能向我解释一下这种行为以及如何解决它

最佳答案

以下是我如何设置此方法:

getUserLogged() {
return this.authService.getToken().pipe(
switchMap(tkn=> {
return this.http.post('http://localhost:8000/api/getuser/', {
token: tkn
})
})
);
}

然后您可以按如下方式使用此方法:

getUserLogged().subscribe(userData => console.log(userData));

此方法使用 switchMap仅在 authService.getToken 返回 token 时调用 http.post 的运算符。您可以找到所有 RxJ 运算符的文档 here .

关于javascript - 将 Observable.subscribe() 返回的值分配给 const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55167471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com