gpt4 book ai didi

angular - 在 Angular 中按顺序运行一组 http 调用

转载 作者:行者123 更新时间:2023-12-02 19:56:36 24 4
gpt4 key购买 nike

我已经多次看到这个问题,但我不知道如何实现这个问题来解决我的问题。

我基本上有一个 http 调用数组,我需要按顺序执行它们。具体来说,我需要执行一个,等待它返回然后执行下一个。

let requests = [
this.http.post('http://localhost:4200/api/value', 'one'),
this.http.post('http://localhost:4200/api/value', 'two'),
this.http.post('http://localhost:4200/api/value', 'three'),
this.http.post('http://localhost:4200/api/value', 'four'),
];

所以我目前正在使用 forkJoin,但这会同时运行请求,这不是我想要的。

forkJoin(observableBatch).subscribe(result => {
// success
}, error => {
// log error
});

我读到使用concatMap可能是答案,但我如何在可观察数组上使用它?

最佳答案

尝试使用 concat RXJS的功能,试试这个

import { concat } from 'rxjs';

let requests = [
this.http.post('http://localhost:4200/api/value', 'one'),
this.http.post('http://localhost:4200/api/value', 'two'),
this.http.post('http://localhost:4200/api/value', 'three'),
this.http.post('http://localhost:4200/api/value', 'four'),
];

concat(...requests).subscribe(result => {
// success
}, error => {
// log error
});

关于angular - 在 Angular 中按顺序运行一组 http 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56868491/

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