跳到主要内容
CNode

新手请教KOA2这样回调为什么不返回信息至客户端

问答
Wwinds2016发布于 10 年前最后回复 10 年前
855060

router.get('/', async function (ctx, next) {

await db.queryPage('', {}, 0, 20, function(rdata) { ctx.body = {success: true, pagecount: rdata.count, customers: rdata.rows}; }); }) SQL查询已返回数据,也没有错误显示,但数据没有返回给客户端,客户端显示:Not Found 把赋值语句放在回调函数外面是会返回给客户端的 求教,谢谢

查看回复

回复 (8)

W
winds2016#710 年前

可以了 return new Promise((resolve, reject) => { db.queryPage('', {}, 0, 20, function(rdata) { ctx.body = {success: true, pagecount: rdata.count, customers: rdata.rows}; resolve(); }); }); 谢谢各位提醒

T
thomas0836#610 年前
T
thomas0836#510 年前

建议 先理解 异步操作和Async函数 这里的内容在做吧

var rdata = await db.queryPage('', {}, 0, 20)
ctx.body = {success: true, pagecount: rdata.count, customers: rdata.rows}
W
winds2016#410 年前

直接return db.queryPage(’’…不行

H
hezhongfeng#310 年前
引用 winds2016那应该如何改呢,多谢

@winds2016 加个return,或者直接return db.queryPage(’’... 可以吗

W
winds2016#210 年前

那应该如何改呢,多谢

F
FoghostCn#110 年前

await后边跟Promise, 你这明显不是Promise,你的回调函数执行之前这个请求就已经结束了

参与回复

登录后即可参与回复。登录