co + thunkify + mongoose 问题
 发布于 9 年前  作者 backcj  4665 次预览  最后一次回复是 9 年前  来自 问答 

我在执行这段代码时

co(function *() {
	var projects = yield thunkify(Project.find)({_id: {$in: ids}});
})();

程序报错: Cannot read property ‘discriminatorMapping’ of undefined


我在查询数据时,总要自己封装一个thunk方法,感觉有点麻烦:

function findProjects(para) {
  return function(fn){
  	Project.find(para, fn);
  }
}
var projects = yield findProjects({_id: {$in: ids}});

我想知道用thunkify为什么会出错?

2 回复
i5ting
  • 先学会markdown语法吧
  • 姿势不太对,co可以接5种Yieldable,而mongoose基础api有promise支持,所以你thunkify没多大意义,使用promise就好了嘛,更多看https://github.com/i5ting/asynchronous-flow-control