代码如下
var asyncFunc = function (sql) {
return new Promise(function (resolve) {
mysql.query(sql, result1 => {
resolve(result1)
})
})
}
const asyncDeal = async function () {
for (var i = 0; i < result.length; i++) {
var sql1 = `select wxusername,photo,openid from userinfo where openid ='${result[i].openid}'`
let res = await asyncFunc(sql1)
arr.push(res)
}
data.result2 = arr
res.send(data)
}
asyncDeal()
先把异步操作的代码写在一个函数里面(asyncFunc),然后把async写在另外一个函数前面,在这个函数里面用await asyncFunc
来得到异步操作返回的数据。这样就可以达到防止异步操作的目的