express中使用async

发布于 2022-09-05 21:50:50 字数 1135 浏览 6 评论 0

var series = require('async/series')
function db(id) {
  var  sql = 'SELECT password FROM user WHERE id ='+id

    connection.query(sql,function (err, result) {
        if(err){
          console.log('[SELECT ERROR] - ',err.message)
          return
        }
        if(result.length > 0) {
          message.db = result[0].password
          message.db = message.db.toString()
        }
        else{
          message.db = '000'
        }
    })
}
app.post('/post', upload.array(), function (req, res, next) {
  function check() {
      console.log(message.db)
      console.log(req.body.password)
      if(message.db === req.body.password) {
            message.message = 1
      }
      else {
            message.message = 0
      }
      res.json({"message": message.message})
      message.message = 0
    }
async.series([
  db(req.body.username),
  check()
],
function(err, results) {
})

})
我想让数据库操作执行完再执行check函数,但是现在显示

clipboard.png
网上也查不到错在哪了,是用法有问题么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

嘴硬脾气大 2022-09-12 21:50:51
async.series([
    function(callback) {
        db(req.body.username)
        //callback是进入下个异步操作的标志,需要将callback(null, 'xxx')放到数据库操作成功后的回调函数中
       
    },
    function(callback) {
        check()
        callback(null, 'xxx');
        
    }
],

function(err, results) {
    
});

甜点 2022-09-12 21:50:51

https://github.com/caolan/async
https://caolan.github.io/asyn...

npm install async
import async from 'async'

这种需求,你也可以用

  1. async await
  2. promise
  3. 普通的callback回调
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文