co(function* () {
yield largeArray.map(function* (e) {
const k = yield db.col.findById(e).exec()
do something with k
})
})
Promise.map(largeArray, (e) => {
return db.col.findById(e).exec()
.then(k => {
do something with k
})
})
这上面用的库有
完成的操作就是遍历 id array ,然后把数据从 mongodb 从取出来操作下。但是经过测试,发现 snippet1 会导致内存溢出,但是 snippet2 不会。感觉好像 snippet1 在function* (){}
生命周期结束之后,不会马上释放内存。没有研读过tj/co
的源码,求大神指点
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.