如何在循环中使用co库?

时间:2016-12-19 06:55:11

标签: javascript node.js

这是我的示例代码。

response.results.forEach((val, index) => {
    mu.co(function*() {
        uIds[index].response = val
        uIds[index].dateOnly = _.date
        uIds[index].count    = 1
        yield _.insertUserIdWiseResponse(uIds[index])
    })
})

我想让它同步。

2 个答案:

答案 0 :(得分:0)

你必须在循环外编写co(mu.co(function *(){)语句,它应该可以工作 但你必须使用(for(of)loop)

答案 1 :(得分:0)

正确的方法是:

return mu.co(function*() {
    for (let [index, val] of response.results.entries()) {
        uIds[index].response = val
        uIds[index].dateOnly = _.date
        uIds[index].count    = 1
        yield notiResponse.upsert(uIds[index], notiResponse)
     }
})