这是作为AJAX请求的脚本执行的:
app.use(route.post('/ajax_request', function(ctx) {
var p = new Promise(function(res){
res('Some result to be received as AJAX resp');
});
p.then(function (val){
ctx.body = val; //resolved after response is sent
});
}))
那么如何将一些异步接收(在本例中包含在Promise中)数据发送回客户端(在这种情况下作为AJAX响应)?
答案 0 :(得分:0)
如果您正在使用Koa 2,则应该使用async
函数作为中间件。如果您不熟悉在Koa 2中使用async/await
或任何其他ES6 +功能,我建议您学习如何使用Babel
来转换代码以便使用它们。如果你不想要进行蒸腾步骤,你现在应该只使用Koa 1.X。
在Koa 2中,代码如下所示:
app.use(route.post('/ajax_request', async (ctx) => {
let p = new Promise(function(res){
res('Some result to be received as AJAX resp');
});
let val = await p;
ctx.body = val;
}));