Egg,Controller中回调函数问题
在项目开发中遇到了使用第三方旧库,仅提供回调方式返回结果。现在遇到的问题是:
MyController{
async fn(){
const ctx = this.ctx;
//调用第三方库
api('balabala',function(err,cb){
if(xxx){
}
ctx.body="success"; //前端请求到此Fn时,无返回数据.
})
}
}
请问如何正确使用this.ctx,才能让Controller正确响应请求.
6 回复
可以把这个balabala方法用promise包一层 let xxx = await new Promise((resolve)=>{ api(‘balabala’, function(err, cb) =>{ resolve(xxx) }) }) if (xxx) this.ctx.body = ‘success’