我需要在循环中的上一个请求结束后每次发送一个请求。但是我不能通过异步/等待来做到这一点。请帮忙。
genQuote = () => {
let quotes = [{quote: 1},{quote: 2}...{quote: n}]
quotes.map(async (simple,i) => {
await this.sendSimple(simple)
}).then(()=>{console.log('Done ' + i)}))
}
sendSimple = (simple) => {
request('rest/api', {
method: 'POST',,
body: JSON.stringify(simple)
})
}
最佳答案
如果希望for...of
在运行下一个迭代之前等待,可以使用它。
async function genQuote() {
let quotes = [{quote: 1},{quote: 2}...{quote: n}];
for (let quote of quotes) {
await this.sendSimple(simple);
}
console.log('All Done');
}
但是,您还需要sendSimple函数返回
Promise
。