来自 nedb 回调的收益率
Yield from within a nedb callback
我有一个基于 koa 的应用程序,我想在其中将数据写入 nedb。
问题显示在以下简短片段中。
app.use(router.get('/', function*(){
db.insert(doc, function(err,data){
// can't yield here because the callback is not a generator
}
}));
我根据 https://github.com/tj/node-thunkify 上的文档使用 thunkify 尝试了以下操作:
var insert = thunkify(db.insert);
app.use(router.get('/', function* (){
yield insert(doc)
}))
但我收到以下错误
TypeError: Cannot read property 'push' of undefined
at Datastore.insert (/home/app/node_modules/nedb/lib/datastore.js:374:16)
at Object.<anonymous> (/home/app/node_modules/thunkify/index.js:43:12)
at /home/app/node_modules/koa/node_modules/co/index.js:136:8
at Object.thunkToPromise (/home/app/node_modules/koa/node_modules/co/index.js:13
如有任何帮助,我们将不胜感激。
我发现 https://www.npmjs.com/package/co-nedb 也使用 thunkify 但有效:-)。
我有一个基于 koa 的应用程序,我想在其中将数据写入 nedb。 问题显示在以下简短片段中。
app.use(router.get('/', function*(){
db.insert(doc, function(err,data){
// can't yield here because the callback is not a generator
}
}));
我根据 https://github.com/tj/node-thunkify 上的文档使用 thunkify 尝试了以下操作:
var insert = thunkify(db.insert);
app.use(router.get('/', function* (){
yield insert(doc)
}))
但我收到以下错误
TypeError: Cannot read property 'push' of undefined
at Datastore.insert (/home/app/node_modules/nedb/lib/datastore.js:374:16)
at Object.<anonymous> (/home/app/node_modules/thunkify/index.js:43:12)
at /home/app/node_modules/koa/node_modules/co/index.js:136:8
at Object.thunkToPromise (/home/app/node_modules/koa/node_modules/co/index.js:13
如有任何帮助,我们将不胜感激。
我发现 https://www.npmjs.com/package/co-nedb 也使用 thunkify 但有效:-)。