koajs yield 循环问题。。
      
      
      
    
    for (var i = 0; i < comments.length; i++) {
            comments[i].avatar = (yield commentModel.getAvatar({name: comments[i].name})).author.avatar;
            comments[i].createtime = formatDate(comments[i].createtime, true);
            comments[i].comment = marked(comments[i].comment);
            comments[i].cid = String(comments[i]._id);
        }
不会错误
       _.forEach(comments,function(comment, key){
                 console.log((yield commentModel.getAvatar({name: comment.name})))
        });
		//SyntaxError: Unexpected identifier
		//lodashjs
需要怎么处理,包裹?
      3 回复
    
    _.forEach / Array.prototype.forEach 只接受 normal function
你在function (){ }里面写yield就是unexpect identifier 写成function * () { } 放在forEach里也没效果,因为调用这个GeneratorFunction得到的是Generator,只有调用generator.next()函数才会开始执行
正确姿势是Promise.each (bluebird里有) componentModel.getAvatar 返回Promise直接用,返回其他类型用co.wrap
@nswbmw [{},{},{}] 我是处理这样的数据,没太看懂。。。
用map返回一個generator function的數組,最外面yield。
 
    