函数异步执行 - Generator

8月以前  |  阅读数:112 次  |    

function *gen(x) {
    const y = yield x + 6;
    return y;
}

// yield 如果用在另外一个表达式中,要放在()里面
// 像上面如果是在=右边就不用加()

function *genOne(x) {
    const y = `这是第一个yield执行: $ {
        yield x + 1
    }`;
    return y;
}

const g = gen(1);
//执行 Generator 会返回一个Object,而不是像普通函数返回return 后面的值
g.next() // { value: 7, done: false }
//调用指针的 next 方法,会从函数的头部或上一次停下来的地方开始执行,直到遇到下一个 yield 表达式或return语句暂停,也就是执行yield 这一行
// 执行完成会返回一个 Object,
// value 就是执行 yield 后面的值,done 表示函数是否执行完毕
g.next() // { value: undefined, done: true }
// 因为最后一行 return y 被执行完成,所以done 为 true

相关文章:


SSH 登录失败:Host key verification failed

PHP分页显示制作详细讲解

将二进制数据转为16进制以便显示

PHP自定义函数获取搜索引擎来源关键字的方法

获取IMSI

Java生成UUID

获取IMEI

在Zeus Web Server中安装PHP语言支持

让你成为最历害的git提交人

再谈PHP中单双引号的区别详解

Python 2与Python 3版本和编码的对比

PHP实现简单爬虫的方法

php+ajax+json 详解及实例代码

wget使用技巧

php封装的page分页类完整实例

指定应用ID以获取对应的应用名称

php数组合并array_merge()函数使用注意事项

php实现数组中索引关联数据转换成json对象的方法

桌面中心(一)创建数据库

Yii2汉字转拼音类的实例代码