当前位置: 首页 > news >正文

站长工具在线查询香奈儿网站设计分析

站长工具在线查询,香奈儿网站设计分析,企业公司信息网,网站建设须知ES6 Generator 函数的异步应用主要通过与 Promise 配合使用来实现。这种模式被称为 “thunk” 模式,它允许你编写看起来是同步的异步代码。 特性: 暂停执行:当 Generator 函数遇到 yield 表达式时,它会暂停执行,等待 …

ES6 Generator 函数的异步应用主要通过与 Promise 配合使用来实现。这种模式被称为 “thunk” 模式,它允许你编写看起来是同步的异步代码。

特性:

  1. 暂停执行:当 Generator 函数遇到 yield 表达式时,它会暂停执行,等待 Promise 解决。
  2. 恢复执行:当 Promise 完成(解决或拒绝)时,Generator 函数恢复执行,并返回 yield 表达式的结果。
  3. 错误处理:可以对异步操作中的错误进行捕获和处理。
  4. 链式调用:可以创建一个链式的异步操作,每个操作都在前一个操作完成后开始。

1. 基本的异步 Generator 函数

function delay(time) {return new Promise(resolve => setTimeout(resolve, time));
}function* asyncGenerator() {console.log("Start");yield delay(1000); // 等待1秒console.log("After 1 second");yield delay(1000); // 再等待1秒console.log("After another second");return "Done";
}let gen = asyncGenerator();function runGenerator(g) {let result = g.next();result.value.then(() => {if (!result.done) {runGenerator(g);}});
}runGenerator(gen);

2. 使用 for…of 和 async…await 语法糖

// 假设我们有以下 async generator
async function* asyncGen() {yield await Promise.resolve(1);yield await Promise.resolve(2);yield await Promise.resolve(3);
}// 我们可以使用 for...of 循环和 async...await 语法糖来简化调用
(async () => {for await (let value of asyncGen()) {console.log(value); // 依次输出 1, 2, 3}
})();

3. 处理异步操作中的错误

function* asyncGenWithError() {try {yield Promise.reject("Error occurred!");} catch (e) {console.log(e); // 输出:Error occurred!}
}let genWithError = asyncGenWithError();genWithError.next().value.catch(err => console.log(err));

4. 使用 yield* 委托给其他异步 Generator 函数

function* innerAsyncGen() {yield Promise.resolve("A");yield Promise.resolve("B");
}function* outerAsyncGen() {yield "Start";yield* innerAsyncGen(); // 委托给另一个异步 Generator 函数yield "End";
}let outerGen = outerAsyncGen();function runOuterGenerator(g) {let result = g.next();result.value.then(val => {if (!result.done) {runOuterGenerator(g);}});
}runOuterGenerator(outerGen);
http://www.yayakq.cn/news/525107/

相关文章:

  • 西工网站建设设计湖南高端网站建设
  • 网站到底备案好不好教育机构官网
  • 网站没有问题但是一直做不上首页济南腾飞网络科技有限公司
  • 深圳模板网站建设案例asp网站模版安装
  • 北京模板建站设计html模板之家免费下载
  • 中国电子商务网站建设php网站后台程序
  • 南通优化网站如何做好阿里巴巴企业网站建设
  • 安徽华强建设集团网站建立化妆品网站功能
  • wordpress不能选择数据库做网站优化的教程
  • 做网站预算如何搭建企业网站
  • 成都网站seo诊断注册企业邮箱收费吗
  • 做公众号的网站模板珠海网站建设及优化
  • 如何用代码做分数查询的网站网站运营存在的问题
  • 网站设计有哪些语言版本昆明网络推广公司排名
  • 济南做网站最好的单位公关
  • 小网站 收入wordpress 数据库替换
  • 门户网站 模板新办公司网上核名在哪个网站做
  • 网站如何做分站系统网站建设与运营的课程总结
  • 不限流量网站空间新能源汽车价格及图片
  • 宿州网站建设电话wordpress yuti
  • 在线 网站建设开个免费一代发网店
  • 销售平台网站建设做网站如何防止被坑
  • 旅游网站策划方案图片链接生成网站
  • 做网站外链需要多少钱注册文化传媒公司流程和费用
  • 如何开 网站建设公司专业团队原图
  • 云南省建设厅标准员网站手机网站模板制作
  • 网网站建设的公司全国楼市走势最新消息
  • 网站推广论坛北辰做网站公司
  • 影视资源api接口深圳外贸seo网站推广
  • 网站怎么做成小程序wordpress无法安装主题