generator 和 yield的使用

简介: generator 和 yield的使用

本章内容:

generator 和 yield的使用:

Generator主要是用于异步编程,就是封装一个异步任务或者是异步任务的容器

特点是:可以交出函数执行权(暂停执行)

在声明函数的function关键字与函数名之间有一个*(用于区别不同函数)

yield在generator函数体内使用,可以定义不同的内部状态(可以设置不同时候不一样的值)

yield命令是异步不同阶段的分界线,有时候也会把yield当成是return(当然有本质区别)

使用启动next(),分阶段执行generator函数

这时候我们可以多调用几次来看一下效果

我们看到这时候才都运行完,那么我们可以感觉到是不是把一个函数分成了几段分别执行了呢?我们可以函数传参来看一下

我们可以看到效果,发现第一个无效,第二个才看是接受到返回值

我们还可以接收他的返回值

我们可以看到结果

我们看到返回的是对象,里面有两个值,第一个是返回的参数,第二个是bool类型的,为false表示当前的函数没有执行完,为true表示函数执行完了

Map数据结构:

Map数据结构类似于对象,是键值对的集合。传统的键只能用字符串,map的键不限于字符串,各种类型的值包括对象都可以当键

属性和操作方法:

Size属性:返回map结构的成员总数

Set(key,value)

Set设置键名key,键值value,然后返回整个map结构。如果key已经有值,则键值会被更新,否则就新生成该键

模块module:

Export命令:用于规定模块的对外接口

我们可以理解成一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。

如果你希望外部能够读取模块内部的某个变量,就必须使用export关键字

模块化是怎么用的?我们可以来看一下

新建一个js文件

我们才创建一个js文件,用来导入

创建html使用模块化

那么我们也可以简化导入

模块化的优点:

减少命名冲突

避免引入是层层依赖

可以提升执行效率


目录
相关文章
|
14天前
|
存储 JavaScript 前端开发
generator
【10月更文挑战第30天】Generator 为 JavaScript 中的异步编程和数据处理提供了一种优雅而强大的解决方案,它的暂停和恢复执行特性使得异步代码更易于理解和维护,同时在迭代器、可迭代对象和惰性求值等方面也有广泛的应用,能够提高代码的可读性、可维护性和性能。
23 # generator 的使用
23 # generator 的使用
56 0
|
14天前
|
JavaScript 前端开发
Generator 函数的执行流程是怎样的?
【10月更文挑战第30天】Generator函数的执行流程通过 `next()` 方法的调用实现暂停和恢复执行,结合 `yield` 关键字以及参数传递和错误处理机制,提供了一种灵活而强大的编程模式,可用于处理异步操作、数据生成与迭代等多种复杂的编程任务。
|
1月前
|
Python
Generator 函数
Generator 函数是 ES6 引入的一种异步编程解决方案,它允许函数执行过程中暂停并保存当前状态,待需要时再恢复执行。通过 `function*` 定义,使用 `yield` 关键字控制暂停点。
|
27天前
|
机器学习/深度学习 人工智能 自然语言处理
生成器(Generator)
生成器(Generator)
|
4月前
|
JavaScript 前端开发 Python
Generator
【7月更文挑战第9天】
26 1
|
5月前
|
Python 微服务
python yield generator 详细讲解
python yield generator 详细讲解
34 0
|
自然语言处理 前端开发 JavaScript
Generator生成器
Generator生成器 转载于 https://es6.ruanyifeng.com/#docs/generator
86 0
|
C# 索引
C#中的yield
C#中的yield
108 0
|
存储 开发框架 .NET
关于C# yield 你会使用吗?
假设有这样一个需求:在一个数据源(下面代码arry)中把其中大于4的数据取出来遍历到前台,怎么做?(不使用linq)
199 0