con-6ren">
sách gpt4 ai đã đi

node.js - Đầu tiên hoàn thành yêu cầu đăng bài HTTP, sau đó lặp lại để thực hiện yêu cầu đăng bài HTTP tiếp theo

In lại 作者:太空宇宙 更新时间:2023-11-03 23:19:12 36 4
mua khóa gpt4 Nike

我有一个循环,每次循环时都会发出 HTTP post 请求。

for(let i = 1; i < this.data.length; i++) {
let arr = this.data[i];
this.http.post('link here', {
name: arr[0],
gender: arr[1],
course: arr[2],
year: arr[3]
}).subscribe(
(data: any) => console.log("succes at " + i),
error => console.log(error + "at" + arr[0])
);
}

但我发现它不会等待 HTTP post 完成就继续下一个循环并执行下一个 HTTP post。我想要实现的是先完成一个 HTTP post,然后再继续执行 HTTP post 的下一个循环。我不会实现这一点,因为我希望保存在数据库中的数据顺序与循环中数组的顺序相同。有什么想法如何去做吗?顺便说一句,我使用 anuglar 和 nodejs

1 Câu trả lời

您可以创建一个递归函数,如下所示

example(i, limit, data) {
let arr = this.data[i];
this.http.post('link here', {
name: arr[0],
gender: arr[1],
course: arr[2],
year: arr[3]
}).subscribe(
(data: any) => console.log("succes at " + i),
error => console.log(error + "at" + arr[0]),
() => ++i < limit ? this.example(i, limit) : null
);
}

要启动循环,请使用以下命令调用它:

this.example(0, this.data.length, this.data)

这样,在上一个订阅完成之前,不会调用 ví dụ 的下一次迭代

关于node.js - 首先完成一个 HTTP post 请求,然后再循环执行下一个 HTTP post 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51688828/

36 4 0
太空宇宙
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com