ES6初步了解生成器
生成器函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同
语法: function * fun(){ }
function * gen(){console.log("hello generator");}let iterator =gen()console.log(iterator)
打印:

我们发现没有打印”hello generator“
我们需要使用到next方法
如果大家对迭代器感兴趣大家可以阅读这篇ES6初步了解迭代器
function * gen(){console.log("hello generator");}let iterator =gen()iterator.next()

我们可以使用yield,可以看作是函数代码的分隔符
function * gen(){console.log(111)yield "hello"console.log(222)yield "generator"console.log(333)yield "!"console.log(444)}let iterator =gen()iterator.next() //111iterator.next() //222iterator.next() //333iterator.next() //444
我们也可以使用for…of来遍历
function* gen() {yield "hello"yield "generator"yield "!"}for (let v of gen()) {console.log(v)}

生成器函数的参数传递
function* gen(arg) {console.log(arg)yield 111yield 222yield 333}// 执行获取迭代器对象let iterator = gen("aaa")console.log(iterator.next())

next方法可以传入实参
function* gen(arg) {console.log(arg) //AAAlet one = yield 111console.log(one) //BBBlet two = yield 222console.log(two) //CCClet three = yield 333console.log(three) //DDD}// 执行获取迭代器对象let iterator = gen("AAA")console.log(iterator.next())// 第二次调next方法传入这个实参作为第一个yield语句的返回结果console.log(iterator.next("BBB"))// 第三次调next方法传入这个实参作为第二个yield语句的返回结果console.log(iterator.next("CCC"))// 第四次调next方法传入这个实参作为第三个yield语句的返回结果console.log(iterator.next("DDD")) // 以此类推

感谢大家的阅读,如有不对的地方,可以向我指出,感谢大家!
相关文章:
ES6初步了解生成器
生成器函数是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同 语法: function * fun(){ } function * gen(){console.log("hello generator");}let iterator gen()console.log(iterator)打印: 我们发现没有打印”hello…...
飞桨大模型套件:一站式体验,性能极致,生态兼容
在Wave Summit 2023深度学习开发者大会上,来自百度的资深研发工程师贺思俊和王冠中带来的分享主题是:飞桨大模型套件,一站式体验,性能极致,生态兼容。 大语言模型套件PaddleNLP 众所周知PaddleNLP并不是一个全新的模型…...
【C++入门到精通】哈希 (STL) _ unordered_map _ unordered_set [ C++入门 ]
阅读导航 前言一、unordered系列容器二、unordered_map1. unordered_map简介⭕函数特点 2. unordered_map接口- 构造函数- unordered_map的容量- unordered_map的迭代器- unordered_map的元素访问- unordered_map的修改操作- unordered_map的桶操作 三、unordered_set1. unorde…...
创建 Edge 浏览器扩展教程(上)
创建 Edge 浏览器扩展教程(上) 介绍开始之前后续步骤开始之前1:创建清单 .json 文件2 :添加图标3:打开默认弹出对话框 介绍 在如今日益数字化的时代,浏览器插件在提升用户体验、增加功能以及改善工作流程方…...
container_of解析及应用
container_of是一个C语言中比较少见,但实际经常用到的宏,在Linux kernel中也有大范围的应用。...
搜维尔科技:Varjo-最自然和最直观的互动
创建真实生活虚拟设计 Varjo让你沉浸在最自然的混合和虚拟现实环境中。 世界各地的设计团队可以聚集在一个摄影现实的虚拟空间中,以真实的准确性展示新的概念-实时的讨论和迭代。这是一个充满无限创造潜力的新时代,加速了人类前所未有的想象力。 虚拟现实、自动反应和XR设计的…...
Postman环境配置
Postman环境配置 安装Postman安装node.js安装newman安装htmlextra安装git注册163邮箱用163邮箱注册gitee在pycharm中安装gitee详细文档 安装Postman 网址:https://www.postman.com/downloads/ 注册一个账号即可 安装node.js 安装newman npm install -g newman …...
Windows下Eclipse C/C++开发环境配置教程
1.下载安装Eclipse 官网下载eclipse-installer(eclipse下载器),或者官方下载对应版本zip。 本文示例: Eclipse IDE for C/C Developers Eclipse Packages | The Eclipse Foundation - home to a global community, the Eclipse ID…...
深入 Maven:构建杰出的软件项目的完美工具
掌握 Meven:构建更强大、更智能的应用程序的秘诀 Maven1.1 初识Maven1.1.1 什么是Maven1.1.2 Maven的作用 02. Maven概述2.1 Maven介绍2.2 Maven模型2.3 Maven仓库2.4 Maven安装2.4.1 下载2.4.2 安装步骤 03. IDEA集成Maven3.1 配置Maven环境3.1.1 当前工程设置3.1.…...
一文了解企业云盘和大文件传输哪个更适合企业传输
文件传输是企业工作中必不可少的环节,无论是内部协作还是外部沟通,都需要高效、安全、稳定地传输各种类型和大小的文件。然而,市面上的文件传输工具众多,如何选择合适的工具呢?本文将从两种常见的文件传输工具——企业…...
在 history 模式下,为什么刷新页面会出现404?
1、原因 因为浏览器在刷新页面时,它会向服务器发送 GET 请求,但此时服务器并没有配置相应的资源来匹配这个请求,因此返回 404 错误。 2、解决方案 为了解决这个问题,我们需要在服务器端进行相关配置,让所有的路由都指…...
第二证券:“华为概念股”,怒刷13连板
大盘颤动时,“妖股”出生日。 到10月24日收盘,圣龙股份连续第13个生意日以涨停报收,区间涨幅抵达245.62%,总市值89亿元;公司13个生意日成交额抵达90亿元,总换手率达159%。 此外,圣龙股份还在暴…...
黑豹程序员-架构师学习路线图-百科:API接口测试工具Postman
文章目录 1、为什么要使用Postman?2、什么是Postman? 1、为什么要使用Postman? 目前我们开发项目大都是前后端分离项目,前端采用h5cssjsvue基于nodejs,后端采用java、SpringBoot、SSM,大型项目采用SpringC…...
开源博客项目Blog .NET Core源码学习(5:mapster使用浅析)
开源博客项目Blog使用mapster框架映射对象,主要是在数据库表对象及前端数据对象之间进行映射,本文学习并记录项目中mapster的使用方式。 App.Hosting项目的program文件中调用builder.Services.AddMapper函数进行对象模型自动映射,而该函数…...
Appium移动端自动测试框架,如何入门?
Appium是一个开源跨平台移动应用自动化测试框架。 既然只是想学习下Appium如何入门,那么我们就直奔主题。文章结构如下: 1、为什么要使用Appium? 2、如何搭建Appium工具环境?(超详细) 3、通过demo演示Appium的使用 4、Appium如何…...
外汇天眼:喜大普奔!困扰投资者的交易问题解决了!
在外汇交易中,即使摒弃了“三无”的黑平台,使用的是正规安全的外汇交易平台,但是面对一些突发状况,依然会出现出金堵塞被拖延、入金不到账等交易突发情况,因为许多外汇平台处于国外,沟通困难、网络繁忙、平…...
UUID转16字节数组(Java)
最近在写协议的时候,遇到需要将一个36字符长度的UUID转为长度为16的字节数组; 这样处理的话那我们就需要保证唯一性和可还原; 于是我使用了下面的方式: /*** uuid转16字节数组** param uuidStr* return*/private static byte[] …...
使用vue3 搭建一个H5手机端访问的项目
首先说明,我本地之前运行过vue的项目,所以具有一些基础的运行环境,这里直接按步骤讲我项目框架搭建的过程。 这个不建议使用驼峰,按规范单词中间加横杠就可以。一般会出现选择项,按方向键选择,我这边选择了…...
【网络安全 --- 任意文件下载漏洞(1)】任意文件下载漏洞
一,环境,工具准备 1-1 VMVare 16 虚拟机及下载安装(资源) 请参考以下博客安装(特详细):【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)-CSDN博客【网络安…...
驱动开发day4(实现通过字符设备驱动的分布实现编写LED驱动,实现设备文件的绑定)
头文件(head.h) #ifndef __HEAD_H__ #define __HEAD_H__ #define PHY_LED1_MODER 0x50006000 #define PHY_LED2_MODER 0x50007000 #define PHY_LED3_MODER 0x50006000 #define PHY_LED1_ODR 0x50006014 #define PHY_LED2_ODR 0x50007014 #define PHY_LE…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
