如何在内部具有yield的生成器中使用Array.prototype.reduce?

时间:2019-11-19 06:53:40

标签: javascript generator

我想运行一个reduce函数,在其中我要通过yield暂停它。 这是我尝试并失败的原因,因为错误: Uncaught SyntaxError: Unexpected identifier

function* abc() {
    return [1,2,3].reduce((accumulator, currentValue) => {
        accumulator.push(currentValue); 
        yield currentValue;
        return accumulator;
    }, []);
}

1 个答案:

答案 0 :(得分:2)

您不能在回调中range内-任何yield都必须直接在生成器函数内。您必须将yield转换为其他内容。

reduce