生成器函数,支持匿名写法么
发布于 8 年前 作者 2881099 4466 次浏览 来自 问答

function(a) {} a => {}

function*(a) {} 能写成箭头函数方式么?

4 回复

@i5ting

大神,yield 怎么和数组的 forEach 配合,给Array重新现实一个类似的方法,如果不支持箭头写法,还是很蛋疼

Array.prototype.for = function (gen) { var ret = []; for (var a = 0; a < this.length; a++) ret.push(gen(this[a], a)); return ret; };

co(function* () { var list = [10, 11, 12, 13]; for (var a = 0; a < list.length; a++) console.log(yield sql(‘select * from users where id=?’, list[a]).query());

yield list.for(function* (a) {
    var ret = yield sql('select * from users where id=?', a).query();
    console.log(ret);
    return ret[0] && ret[0].username;
});

}).catch(err => console.warn(err));

@2881099 最好单独写工具类,不要更改内置类型的原型

co(function* () {
  var list = [10, 11, 12, 13];
  var results = yield list.map(function (a) {
    return sql('your sql', a).query();
  });
}).catch(err => console.warn(err));
回到顶部