自动执行generator生成器函数

news/2024/10/21 16:17:33

自动执行generator函数

◼ 目前我们的写法有两个问题:第一,我们不能确定到底需要调用几层的Promise关系;第二,如果还有其他需要这样执行的函数,我们应该如何操作呢?
◼ 所以,我们可以封装一个工具函数execGenerator自动执行生成器函数<script>// 封装一个请求方法function requestData(count){return new Promise((resolve,rejdect)=>{setTimeout(()=>{resolve(count)},2000)})}// 3. 生成器的处理方案function* getData(){const res1 =yield requestData("hdc")console.log("res1:",res1)const res2 =yield requestData(res1+",kobe")console.log("res2:",res2)const res3 =yield requestData(res2+",james")console.log("res3:",res3)}//   const generator = getData()//   generator.next().value.then(res1 =>{//     generator.next(res1).value.then(res2 =>{//       generator.next(res2).value.then(res3 =>{//         generator.next(res3)//         })//     })//  })// 自动化执行生成器函数function execGenFn(fn){// 获取对应函数的生成器const generator = fn()//定义一个递归函数function exec(res){const result =  generator.next(res)if(result.done){return}result.value.then(res=>{exec(res)})}// 执行递归函数exec()}execGenFn(getData)</script>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

VMware低版本打开高版本虚拟机

前言全局说明VMware低版本打开高版本虚拟机一、说明 环境: Windows 11 家庭版 23H2 22631.3737二、注意修改前,备份虚拟机文件 为了数据安全,最好不要手动修改虚拟机配置信息 最好使用对应版本创建的虚拟机三、版本对应 https://www.cnblogs.com/wutou/p/17712402.html四、修…

【验证码识别专栏】大炮打麻雀 — CLIP 图文多模态模型,人均通杀 AIGC 六、九宫格验证码

前言 近期有粉丝私信,不知道如何训练某讯系点选验证码,之前星球群也有不少粉丝讨论相关问题,为满足粉丝们的需求,本文将对这型验证码的训练进行讲解, 文末可以下载相关的工具,包括 文章配套标注工具 + 文章配套训练代码 + 部分学习数据集(少量类目,仅供学习使用,不设计…

数据库—多表查询、事务

1.多表查询: 例:点击查看代码 # 创建部门表 CREATE TABLE dept( did INT PRIMARY KEY AUTO_INCREMENT, dname VARCHAR(20) );# 创建员工表 CREATE TABLE emp ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10), gender CHAR(1), -- 性别 salary DOUBLE, -- 工资 join_d…

021 天气案例

@click后面也可以写一些简单语句,这样就不用配置methods了

通义灵码操作指南——插件配置指南

点击链接,立即下载通义灵码插件:https://tongyi.aliyun.com/lingma/ 通义灵码支持在 Visual Studio Code、JetBrains IDEs 中修改常用快捷键、进行行间生成的启用/禁用等功能开关配置。 Visual Studio Code 中配置通义灵码 准备工作 如果需要在 Visual Studio Code 中使用通义…

1200PLC通过NODERED,将数据发布到阿里云物联网平台

配置要求:1,电脑上需要安装有博图软件,我这里使用的是TIA Portal V16版本 2,电脑上需要安装NODE_RED 3,已经有阿里云物联网平台账号。新建PLC项目,编写PLC程序, *新建PLC项目,我这里硬件为cpu1214,dcdc_R| | | | | ---- | ---- | ---- | | | …

织梦数据库主表?dedecms数据库包含那些表

以下是织梦CMS (DedeCMS) 数据库表的汇总表格,包括主要表及其用途:表名 用途dede_admin 管理员信息表,存储管理员账号、密码、权限等信息。dede_addonarticle 附加文章表,存储文章的详细内容。dede_arctype 栏目类型表,存储网站栏目的分类信息。dede_archives 文档主表,存…

UI自动化测试方案及各个环境部署步骤

Saas后台UI自动化测试方案 一、背景saas后台功能繁多,人工回归工作量大; 版本持续迭代周期快,无足够的人力资源进行全量回归测试,特别是后端架构变动时,影响范围很广,导致测试占用时间太多。二、目标 目标一:对冒烟测试、主功能回归测试进行自动化,这样可以持续,快速的…