我如何使用 RxJS 进行 post 事务,以便下一个请求等待前一个请求完成?
How do I use RxJS to post transactions such that the next request waits for the previous one complete?
我有一个大约 2000 笔交易的列表,post 到后端。我想向 POST 第一个事务发出请求,等待该请求完成,然后移动下一个,依此类推,直到我用完整个列表。
您需要使用 concatMap
或 exhaustMap
concatMap
- 将首先调用 API 并仅在第一个 API 调用完成后才继续进行下一个 API
concatMap
中的所有调用严格按顺序调用
const { from, of } = require("rxjs");
const { concatMap } = require("rxjs/operators");
const transId = ["id1", "id2", "id3"];
const postAPI = (id) => of({ id, status: "success" });
from(transId)
.pipe(concatMap((id) => postAPI(id)))
.subscribe(console.log);
我有一个大约 2000 笔交易的列表,post 到后端。我想向 POST 第一个事务发出请求,等待该请求完成,然后移动下一个,依此类推,直到我用完整个列表。
您需要使用 concatMap
或 exhaustMap
concatMap
- 将首先调用 API 并仅在第一个 API 调用完成后才继续进行下一个 API
concatMap
中的所有调用严格按顺序调用
const { from, of } = require("rxjs");
const { concatMap } = require("rxjs/operators");
const transId = ["id1", "id2", "id3"];
const postAPI = (id) => of({ id, status: "success" });
from(transId)
.pipe(concatMap((id) => postAPI(id)))
.subscribe(console.log);