关于node Koa2 异步回调的问题
发布于 7 年前 作者 enternull 3903 次预览 最后一次回复是 7 年前 来自 问答
function demo(context, next) {
console.log(1)
setTimeout(() => {
let string_num = Date.now()
console.log(string_num)
context.body = string_num
context.res.end()
}, 1000)
})
}
写了个DEMO 流程是发起请求然后 console.log(1) 程序中有个定时器 延迟一秒后返回数据 前端接收不到数据 但是加入promise
function demo(context, next) {
console.log(1)
return new Promise((resolve,reject) => {
setTimeout(() => {
let string_num = Date.now()
console.log(string_num)
context.body = string_num
context.res.end()
resolve()
}, 1000)
})
}
它就变成同步的了 每次输出时间戳后才会处理下一个请求 请问nodejs有什么方式可以接收多个请求然后异步返回数据的嘛? 框架用的koa2
5 回复
你要处理多个请求了,为什么要promise
@chenzeZzz 不用promise 我收不到异步返回的结果啊
@enternull 服务路由没问题,你有请求就会有返回,promise可以控制返回的时间,但是高并发应当让请求尽快返回
注释掉
context.res.end()就可以了输出
不知道是不是你想要的结果😂
我觉得可以使用ES6的async/await,当然promise在有些情况也是必须的。