我有一个不会返回的函数。 SQL查询不错。 功能不错,当不在异步状态时效果很好
头
const util = require('util')
const sq = util.promisify(msql)
...
sq(db,quer1,1).then(data => {
rspn = rspn + data
console.log("---- can *NOT* get here!")
sq(db,query2,2).then(data2 => {
console.log ("----- can *NOT* get here here!")
rspn = rspn + data2
res.writeHead(200, {"Content-Type": "text/plain"})
res.write(rspn)
res.end()
}).catch(err => console.error(`[Error]: ${err}`))
}).catch(err => console.error(`[Error]: ${err}`))
然后,最后将不返回的函数调用。当我使用此代码(不在函数中使用时,它工作正常。on('end')return可以正常工作
function msql(db,sql,res,num){
let rspn = ''
query = db.query(sql)
query
.on('error', function(err) {
console.log(err)
}).on('result', function(row) {
...
})
.on('end', function() {
rspn = rspn + `!-- end container -->`
console.log("----can get here ------ ")
return rspn // not returning here
})
console.log("----can get here ------ ")
return rspn // not returning here either
}
在这方面的任何帮助将不胜感激,谢谢您的考虑。