我正在尝试发布授权用户的请求。登录后,我想发送另一个 http.post 来设置有关该用户的一些信息。到目前为止,我的登录调用有效: ( Angular )auth_service.ts :
Login() {
let promiseResult : any;
this.http.post<any>('/auth/Login', this.auth_payload).toPromise().then(data => {
promiseResult = data;
console.log("Login call" ,promiseResult)
return promiseResult
});
auth_component.ts :
onSubmit(form : NgForm){
this.authService.Login()
}
我无法理解如何使第二个帖子请求工作。我想在 HTML 上按下一个按钮,在该按钮上将检索第二次调用的响应。我应该如何在这两个请求之间建立“联系”?
我读过 Promises 和 Observables,但我不知道在这种情况下如何使用它们。
最佳答案
YourMethod(): Observable < any > {
let firstResult;
let secondResult;
return http.get('////').pipe(
switchMap(res1 => this.http.post<any>('/auth/Login', this.auth_payload).pipe(
map(res2 => [res1, res2])
))
);
}
CallingMethod() {
this.YourMethod().subscribe(([firstResult, secondResult]) => {
/// Some logic
})
}
关于angular - 将 http post1 的响应传递给另一个并从 Angular 中的 post2 获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62239929/