【问题标题】:How to use ForkJoin for POST Method in angular如何在 Angular 中使用 ForkJoin 进行 POST 方法
【发布时间】:2019-04-07 12:24:42
【问题描述】:

是否可以将 ForkJoin 用于 post 方法?那也与使用服务有关?

我想在 Angular 中使用 ForkJoin 一次发送多个发布请求。

这是我根据此参考获得的方法的代码:https://coryrylan.com/blog/angular-multiple-http-requests-with-rxjs

let character = this.http.get('https://swapi.co/api/people/1');
    let characterHomeworld = this.http.get('http://swapi.co/api/planets/1');

    forkJoin([character, characterHomeworld]).subscribe(results => {
      // results[0] is our character
      // results[1] is our character homeworld
      results[0].homeworld = results[1];
      this.loadedCharacter = results[0];
    });

是否可以使用带有一组参数的 POST 方法?

在这里编辑问题:

我添加了如下代码:

fetch_details(res){
var requests_list = [];
if(res == 1){
let request = this.http.post('BankDetailsUpdate', bank_params );
        requests_list.push(request);
}
if(res == 2){
let request = this.http.post('PersonalDetailsUpdate', bank_params );
        requests_list.push(request);
}

 this.save_details(requests_list);
}

save_details(requests_list){
          if(this.rejectedDetailsForm.valid){
            forkJoin(requests_list).subscribe(results => {
              console.log(results, "results");
            },
            error => console.log("Error: ", error),
            () =>{
     });
     }
    }

我收到以下错误:

Error:  TypeError: Converting circular structure to JSON
    at JSON.stringify (<anonymous>)

我在这里缺少什么?你能帮忙吗?

谢谢。

【问题讨论】:

  • 是的,这是可能的。只要是 observable 就可以加入到 forkjoin 数组中。
  • 我觉得可以,你应该试一试
  • 我可以使用像 apiservice.savedata() 这样的服务来代替这个吗? http.post()
  • 我已经更新了问题,你能帮我检查一下吗?

标签: angular fork-join


【解决方案1】:

我的错误:在 observable 中的值不是 JSON 对象。我已经转换为 JSON 对象,然后它现在可以正常工作了。

【讨论】:

    猜你喜欢
    • 2019-02-28
    • 2018-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    相关资源
    最近更新 更多