angular - 将 http post1 的响应传递给另一个并从 Angular 中的 post2 获取响应

标签 angular promise observable es6-promise

我正在尝试发布授权用户的请求。登录后,我想发送另一个 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/

相关文章:

javascript - 函数未在 Promise 中调用

javascript - 将 Angular Promise 与 ng-show 一起使用

返回 Promise 的 Javascript 顺序函数

android - ViewModel Observer 第一个参数是 require Lifecycleowner

生产构建中 Angular 错误的 css 顺序

javascript - Angular 2 中的条件 Observable 链接

angular - 访问在Docker容器中运行的Angular应用

angular - 与可观察对象并行读取文件

android - 订户 OnComplete 调用了两次

javascript - 等待可观察的订阅 Angelar2