[JS]Generator

介绍

Generator函数是 ES6 提供的一种异步编程解决方案, async是该方案的语法糖

核心语法

Generator对象由生成器函数返回, 并且它符合可迭代协议和迭代器协议

生成器函数在执行时能暂停, 后面又从暂停处继续执行

<script>// 1.定义生成器函数function* testGenerator() {console.log('生成器对象执行了');yield '异步任务1'yield '异步任务2'yield '异步任务3'}// 2.获取Generator对象const test = testGenerator()// 3.next()方法// 手动执行console.log(test.next()); // 生成器对象执行了 / {value: '异步任务1', done: false}console.log(test.next()); // {value: '异步任务2', done: false}console.log(test.next()); // {value: '异步任务3', done: false}console.log(test.next()); // {value: 'undefiend', done: true}// 4.for of循环// 循环执行for (const item of testGenerator()) {console.log(item);}</script>

管理异步

使用Generator对象管理异步任务, 在定义的时候比较直观, 但是调用还是比较繁琐, 所以才会出现async语法糖

<script>// 1.创建一个生成器function* cityGenerator() {yield fetch('http://hmajax.itheima.net/api/city?pname=北京');yield fetch('http://hmajax.itheima.net/api/city?pname=天津');}// 2.获取生成器对象const city = cityGenerator();// 3.通过netx方法执行代码city.next().value.then((res)=>{// 4.拿到第一个任务的成功结果console.log('res', res.json());// 5.执行下一个异步任务return city.next().value}).then((res)=>{// 6.拿到第一个任务的成功结果console.log('res', res.json());})</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/872013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMware与centos安装

目录 VM安装 安装centos VM安装 VMware Workstation Pro是VMware&#xff08;威睿公司发布的一袋虚拟机软件&#xff09;&#xff0c;它主要功能是可以给用户在单一的桌面上同时运行不同的操作系统&#xff0c;也是可以进行开发、测试、部署新的应用程序的最佳解决方案。 开始…

HarmonyOS 屏幕适配设计

1. armonyOS 屏幕适配设计 1.1. 像素单位 &#xff08;1&#xff09;px (Pixels)   px代表屏幕上的像素点&#xff0c;是手机屏幕分辨率的单位&#xff0c;即屏幕物理像素单位。 &#xff08;2&#xff09;vp (Viewport Percentage)   vp是视口百分比单位&#xff0c;基于…

网络安全威胁情报到底是什么

网络安全威胁情报:构成要素与应用 网络安全威胁情报(Threat Intelligence,TI)是指通过收集、分析和处理各种威胁信息,以帮助组织预防、检测和响应网络攻击的过程。威胁情报的有效应用可以显著提升组织的安全态势,增强其防御能力。本文将详细探讨网络安全威胁情报的主要构…

程序包不存在【java: 程序包org.springframework.boot不存在】

1、问题提示&#xff1a;java: 程序包org.springframework.boot不存在 注意&#xff1a;已经下载好了程序包&#xff0c;就是提示不存在 2、解决办法

PostgreSQL 中如何处理数据的并发读写和锁等待超时?

&#x1f345;关注博主&#x1f397;️ 带你畅游技术世界&#xff0c;不错过每一次成长机会&#xff01;&#x1f4da;领书&#xff1a;PostgreSQL 入门到精通.pdf 文章目录 PostgreSQL 中如何处理数据的并发读写和锁等待超时一、并发读写的基本概念&#xff08;一&#xff09;…

Flask与Celery实现Python调度服务

文章目录 Flask与Celery实现Python调度服务一、前言1.组件2.场景说明3.环境 二、安装依赖1.安装Anaconda3.安装redis2.安装依赖包 三、具体实现1.目录结构2.业务流程3.配置文件4.Celery程序5.Flask程序6.测试脚本7.程序启动1&#xff09;Windows开发调试2&#xff09;Linux服务…

公司周年庆活动应该怎么策划?

当我们谈论公司周年庆典&#xff0c;我们不仅仅是在讨论一个简单的派对。 这是一个展现公司文化、增强员工归属感、加深客户关系&#xff0c;甚至推动公司战略发展的重要时刻。 那么&#xff0c;如何策划一场既有趣又有意义的周年庆典呢&#xff1f;这里分享一点自己的私人笔…

【java】力扣 买卖股票的最佳时机II

文章目录 题目链接题目描述思路代码 题目链接 122.买卖股票的最佳时机II 题目描述 思路 这道题和121.买卖股票的最佳时机 有所不同&#xff0c;不同点在于&#xff0c;这道题的股票可以多次买卖(但是要在买之前先卖掉) 详细思路请看链接的文章【java】力扣 买卖股票的最佳时…

excel及panda的部分内容

文章目录 python操作EXCELPandas 操作 Excel 的 DataFrame总结 python操作EXCEL 在 Python 中&#xff0c;操作 Excel 文件通常使用以下几个库&#xff1a; Pandas&#xff1a;强大的数据分析库&#xff0c;支持读取和写入 Excel 文件。 Openpyxl&#xff1a;专门用于读写 Ex…

ERP基础知识

ERP 一、概述 ​ ERP是Event-related Potentials的简称。外加一种特定的刺激&#xff0c;作用于感觉系统或脑 的某一部位&#xff0c;在给予刺激或撤销刺激时&#xff0c;或和当某种心理因素出现时在脑区所产生的电位变化&#xff0c;成为事件相关电位&#xff0c;是一种特殊…

【busybox记录】【shell指令】chown

目录 内容来源&#xff1a; 【GUN】【chown】指令介绍 【busybox】【chown】指令介绍 【linux】【chown】指令介绍 使用示例&#xff1a; 常用组合指令&#xff1a; 指令不常用/组合用法还需继续挖掘&#xff1a; 内容来源&#xff1a; GUN &#xff1a; Coreutils - GN…

Sentinel-1 Level 1数据处理的详细算法定义(四)

《Sentinel-1 Level 1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level 1处理算法和方程,以便生成Level 1产品。这些算法适用于Sentinel-1的Stripmap、Interferometric Wide-swath (IW)、Extra-wide-swath (EW)和Wave模式。 今天介绍的内容如下: Sentinel-1 L…

【详解】Spring Cloud概述

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;Spring学习之路&#x1f4d5;格言&#xff1a;吾愚多不敏&#xff0c;而愿加学欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 1. 认识微服务 1.1 单体架构 1.2 集群和分布式架构 1.3 集群和分布式…

从零开始做题:什么奇奇怪怪的东西

题目 解题 mrf拓展名&#xff0c;macro recorder打开&#xff0c;鼠标键盘的记录 然后解压flag.zip即可&#xff0c;发现有一个挂载的文件&#xff0c;直接打开后 显示所有的隐藏文件 一个一个打开 然后进行拼接运行吧估计。 首先打开txt文件直接久就给出了代码&#xff1…

linux的学习(四):磁盘,进程,定时,软件包的相关命令

简介 关于磁盘管理&#xff0c;进程管理&#xff0c;定时任务&#xff0c;软件包管理的命令的使用 磁盘管理类命令 du du 目录名&#xff1a; 查看文件和目录占用的磁盘空间 参数&#xff1a; -h&#xff1a;可以看到大小的单位&#xff0c;g,mb-a&#xff1a;还可以看到文…

昇思25天学习打卡营第8天|模型权重保存与加载

打卡 目录 打卡 模型的两种保存形式 Checkpoint 中间表示IR 模型保存与加载 模型权重保存-例1 模型权重加载-例1 模型权重保存-例2 模型权重加载-例2 模型权重文件的空间占用计算-例 模型的两种保存形式 Checkpoint 权重参数文件 中间表示IR 中间表示&#xff08;…

GitHub每日最火火火项目(7.15)

项目名称&#xff1a;public - apis / public - apis 项目介绍&#xff1a;这是一个集合了各种免费 API 的项目。在当今的软件开发中&#xff0c;API&#xff08;应用程序编程接口&#xff09;起着至关重要的作用&#xff0c;它允许不同的应用程序之间进行交互和数据共享。该项…

骨头的诱惑

在看之前&#xff0c;先把他关注了&#xff0c;谢谢iwowo 的个人中心 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 代码思路主要来自他&#xff08;说实话&#xff0c;代码我也会&#xff09;但是&#xff0c;思路和代码还是不一样的&#xff0c;所以 快去关注啊&#xff…

跟着操作,解决iPhone怎么清理内存难题

在如今智能手机功能日益强大的时代&#xff0c;我们使用手机拍照、录制视频、下载应用、存储文件等操作都会占用手机内存。当内存空间不足时&#xff0c;手机运行会变得缓慢&#xff0c;甚至出现卡顿、闪退等现象。因此&#xff0c;定期清理iPhone内存是非常必要的。那么&#…

信息检索(112):Token-level Adaptive Training for Neural Machine Translation

Token-level Adaptive Training for Neural Machine Translation 摘要1 引言2 背景3 方法3.1 现有的自适应目标调查3.2 token 权重的启发式标准3.3 两个具体的自适应目标 4 实验4.1 数据准备4.2 系统4.3 超参数4.4 实验结果 5 分析5.1 考虑标记频率对翻译质量的影响5.2 不同 BP…