假设我们在一个数组中有一些数据,我们需要将每个数组项保存在一个单独的文档中mongodb
这是我如何尝试执行此操作的代码:
const co = require('co');
const Model = new require('./mongoose').Schema({...});
const data = [
{...},
{...},
{...},
{...}
];
function* saveData() {
for (let i = 0; i < data.length; i++) {
yield (new Model(data[i])).save(() => {
console.log(i);
});
}
yield function*() { console.log(`xxx`); };
}
co(saveData).then(() => {
console.log(`The end. Do here some cool things`);
});
我希望在保存所有数据后输出“结束”,控制台看起来像这样:
0
1
2
3
xxx
结束。在这里做一些很酷的事情
但我得到的是:
0
1
2
xxx
结束。在这里做一些很酷的事情
3
如何将代码修复为:
1.xxx
保存所有项目后
使代码输出 2. 使代码The end...
在最后真正输出
?