sqlite3 nodejs模块,我们如何等待db#serialize完成

时间:2018-06-21 01:13:59

标签: javascript node.js sqlite

在再次执行启动计时器代码之前,如何确保db#serialize已完成?我看到等待/异步承诺是解决此问题的唯一选择。有没有更好的方法来解决这个问题? db#serialize应该提供了完整的回调。

db#each具有完整的回调,但是其他db#函数不提供该选项。通常d#serialize应该已经提供了此选项

function checkLoop()
{
  //console.log("Checking for any request to process")
  db.serialize(function(){
    db.each('select * from prepare_updates where finished_at IS NULL',
              function(err, row){
                if(err === null )
                {
                  console.log("preparing updates for " + row.id)
                  // Some processing
                }
      })
  })
  console.log("Starting timer again ")
  if(!stop)
  {
    setTimeout(function(){checkLoop()},2000);  
  }
}

0 个答案:

没有答案