我正在尝试制作一个发送请求的循环。
但是,我想在发送下一个请求之前等待收到请求的答复。我该如何继续?
private start(): Promise<string> {
return new Promise((resolve, reject) => {
for (let j = 0, p = Promise.resolve(); j < count; j++) {
p = p.then(_ => new Promise<null>(res =>
setTimeout(() => {
if (j === (count - 1)) {
resolve();
} else {
this.http.get();
res();
}
}, 1000)
));
}
});
}
感谢帮助
最佳答案
感谢大家的帮助, 最后,我根据@Capricorn 的回复写了这个
private start(): Promise<string> {
return new Promise((resolve, reject) => {
for (let j = 0, p = Promise.resolve(); j < 10; j++) {
p = p.then(() => new Promise<null>((res) => {
this.get().then(() => res());
}));
}
});
}
private get(): Promise<string> {
return new Promise((resolve, reject) => {
setTimeout(() => {
alert('hello');
resolve();
}, 3000);
});
}
关于angular - 在 Promise 循环中,如何等待请求响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56375298/