当前位置: 首页 > 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.tj-hxxt.cn/news/104351.html

相关文章:

  • 江阴网站建设推广360关键词指数查询
  • 成品网站nike源码1688百度网页版下载
  • 已申请域名怎么做网站上海网络推广优化公司
  • 远近互联网站建设软文营销案例分析
  • 南宁外贸网站建设搜易网提供的技术服务
  • 建网站 选安全网页设计与制作作业成品
  • 网站搭建说明网店seo排名优化
  • 做网站销售电销好做吗软文新闻发稿平台
  • 建站工具搭建网站搜狗站长工具
  • 个人网站建立多少钱十大免费无代码开发软件
  • 网站的建设属于无形资产网络营销建议
  • 那样的网站18年长春网站建设方案推广
  • 做环卫车怎么做网站网站关键词排名优化价格
  • 网站建设的税率是多少网络营销的基本特征
  • 如何用wordpress做视频网站产品故事软文案例
  • 规划电子商务网站高端网站建设案例
  • 南京小程序开发网站建设公司口碑营销案例有哪些
  • 好看的响应式网站链接交换平台
  • 自己做网站赚钱吗产品推广策略
  • 天津网站建设基本流程武汉seo服务外包
  • 服装企业网站建设策划书如何在百度发视频推广
  • 网站建设方案策划书搜索引擎优化seo名词解释
  • 怎么做农产品垂直网站百度推广怎么样才有效果
  • 云南学校 手机网站建设企业网站推广策略
  • 找人做时时彩网站品牌营销案例分析
  • asp学校网站系统百度关键词搜索查询
  • 长春网站建设优势吉网传媒好百度推广工作怎么样
  • 免费 网站建设seo网站设计工具
  • 南昌网站设计专业小程序怎么开发自己的小程序
  • 南开集团网站建设旺道网站优化