关于yield koa的一个小问题 thunk回调函数?
this.body = yield service.get_search_data(key,start,end);
exports.get_search_data =
function(key,start,end){
return
function(cb){
var req = http.request(http_request,function(response){
var body = '';
response.setEncoding('utf-8');
response.on('data',function(chunk){
body += chunk;
});
response.on('end',function(){
cb(null,body);
});
});
req.end();
}
}
这样的一串代码(精简过了),返回给body数据,但是从头到尾都没有cb()这个函数的定义阿,为什么可以得到正确的返回值?cb函数的定义在哪里?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这个要看
co
模块的源码 ,yield
后面如果跟的是一个chunk函数,co
会把它包装成一个Promise
对象