0
点赞
收藏
分享

微信扫一扫

生成器基础

hoohack 2022-02-13 阅读 59

一、基础语法

//*表示未生成器函数当为生成器函数时会有yield 
function* 函数名() {
    // 函数内容
    yield;
}

二、调用 Generator 函数

函数名();
const it = 函数名();
下一步,调用迭代器的 next() 方法来进入函数执行函数内部代码。

it.next();

三、yield

function* myGenerator() {
    console.log('1、myGenerator执行了');
    yield;
    console.log('2、myGenerator执行了');
}

const it = myGenerator();
it.next();
it.next();

yield 后面可以跟一个表达式:

function* myGenerator() {
    console.log('1、myGenerator执行了');
    yield 'hello';
    console.log('2、myGenerator执行了');
    yield 'world';
    console.log('3、myGenerator执行了');
}

const it = myGenerator();
console.log(it.next());
console.log(it.next());

next() 还可以传递参数,这个参数会作为当前 yield 的返回值:

function* myGenerator() {
    console.log('1、myGenerator执行了');
    const res = yield 'hello';
    console.log('res', res);
}

const it = myGenerator();
console.log(it.next());
console.log(it.next("world"));

四、处理异步

在这里插入图片描述

举报

相关推荐

0 条评论