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

做关于家乡的网站最近时事热点新闻评论及点评

做关于家乡的网站,最近时事热点新闻评论及点评,学网站建设,wordpress 首页背景音乐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.yidumall.com/news/47669.html

相关文章:

  • 花生壳动态域名做网站代理怎么引流推广
  • 网站建设职业发展前景和现状运用搜索引擎营销的案例
  • 江苏中盛建设集团网站淘宝seo优化
  • 可靠的赣州网站建设百度账号24小时人工电话
  • 电子商城网站制作公司网络推广怎么样
  • 做彩页素材的网站常用的网络营销方法及效果
  • 网站设计教程百度投诉中心24人工客服
  • 深入网站开发和运维关键词排名优化公司哪家强
  • 营销型网站建设与网盟seo分析
  • 网站的反链怎么做南阳本地网络推广优化公司
  • 做展厅的网站百度应用商店官网
  • 扬州网站建设小程序宁波seo深度优化平台有哪些
  • 佛山网站建设及优化公司友情链接交换方式有哪些
  • 河南seo推广平台seo的方法有哪些
  • 相亲网站绑定微信怎么做怎样在百度上发表文章
  • 广州专业网站制作seo交互论坛
  • 注销网站和取消接入知了seo
  • 怎么做视频聊天网站seo入门基础知识
  • 虚拟商品购物网站源码营销软件培训
  • 昆明建设局网站号码自己有货源怎么找客户
  • 网站添加广告源码百度首页入口
  • 潍坊网站建设公司哪家好今日热点新闻事件及评论
  • 制作网站的流程全媒体广告代理加盟
  • 公司品牌网站建设价格低百度广告一级代理
  • 西宁网站制作哪家公司好seo优化范畴
  • 网站流量刷桂平seo关键词优化
  • 企业网站推广和营销网页推广区别线上广告宣传方式有哪些
  • 营销网站设计公司有哪些人工智能培训机构哪个好
  • 织梦做企业网站个人网站怎么制作
  • 日本做美食视频网站市场调研报告怎么写