我需要在循环中的上一个请求结束后每次发送一个请求。但是我不能通过异步/等待来做到这一点。请帮忙。

    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

10-08 14:36