等待循环结束以继续函数并返回对象

时间:2021-06-20 04:57:23

标签: javascript node.js

我正在尝试将一些数据放入“albuns”对象中,然后在它之后返回给客户端。但是我的代码不会等待 for 循环结束。在这种情况下,我不知道如何使用 async await,即使是 Promise。有人可以帮忙吗?

router.get('/test/', async (req, res) => {

  connection.query('SELECT * FROM album WHERE datahora_cancelamento IS NULL', async (err, rows, fields) => {
    if(!err){

      var albuns = Object.values(JSON.parse(JSON.stringify(rows)))

      for (const album of albuns){    
         connection.query('SELECT * FROM album_fotos WHERE cd_album = ?',[album.id], (err, rows2, fields) => {
           let imagens = Object.values(JSON.parse(JSON.stringify(rows2)))          
           albuns.imagens = imagens
           console.log('loop');
         })
      }
      console.log('should display after for ends')
      console.log(albuns);

    } else {
      console.log(err)
    }
  })
})

0 个答案:

没有答案