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

vue做的pc线上网站php企业网站开发实训报告

vue做的pc线上网站,php企业网站开发实训报告,怎么做网站文章伪原创,建设网站号码异步的终极解决方案#xff1a;async/await 1. 背景 在深入讨论 async/await 之前#xff0c;我们需要了解一下 JavaScript 的单线程和非阻塞的特性。JavaScript 是单线程的#xff0c;也就是说在任何给定的时间点#xff0c;只能执行一个操作。然而#xff0c;对于需要…异步的终极解决方案async/await 1. 背景 在深入讨论 async/await 之前我们需要了解一下 JavaScript 的单线程和非阻塞的特性。JavaScript 是单线程的也就是说在任何给定的时间点只能执行一个操作。然而对于需要大量时间的操作例如从服务器获取数据如果没有适当的管理机制这种单线程特性可能会导致应用程序的阻塞。为了解决这个问题JavaScript 引入了回调函数和后来的 Promise用来管理这些异步操作。 然而回调函数和 Promise 还是存在一些问题。回调函数很容易导致 “回调地狱”因为每个异步操作都需要一个回调函数如果有很多这样的操作代码就会变得非常混乱。Promise 解决了这个问题让异步代码更加直观但是Promise 的链式调用有时候还是显得不够直观。 为了结合Promise和生成器的优势Async/await在ECMAScript 2017ES8中被引入。它通过async函数和await表达式提供了一种更加直观和简洁的方式来编写异步代码消除了回调函数和手动管理Promise的需要。   2. 使用方法 Async/await的使用方法非常简单明了主要涉及两个关键字async和await。 async关键字用于声明一个async函数它返回一个Promise对象。在async函数内部我们可以使用await关键字来暂停函数的执行等待一个异步操作的完成并获得其结果。在这个过程中async函数会暂时释放线程的控制权使其他代码可以继续执行。await关键字用于暂停async函数的执行等待一个Promise对象的完成并返回其解析的值。它只能在async函数内部使用。当使用await表达式时代码的执行会暂停直到Promise对象被解析或拒绝。 下面是一个示例展示了Async/await的使用方法 async function getData() {try {const response await fetch(https://api.example.com/data);const data await response.json();return data;} catch (error) {console.error(Error:, error);throw error;} }getData().then(data console.log(Data:, data)).catch(error console.error(Error:, error));在上面的示例中getData函数是一个async函数它等待fetch函数返回的Promise对象并使用await关键字获取响应的数据。最后我们使用.then方法处理返回的数据或使用.catch方法处理可能发生的错误。 3. 实现原理 Async/Await 的实现原理其实就是 Generator Promise。我们知道 Generator 可以在 yield 关键字处暂停和恢复执行Promise 可以处理异步操作两者结合在一起就可以实现一个类似于 async/await 的功能。 function promiseFn() {return new Promise((resolve) {setTimeout(() {resolve(promise resolved);}, 2000);}); } function* genFn() {let result yield promiseFn();console.log(result); } function asyncToGenerator(generator) {let gen generator();return new Promise((resolve, reject) {function step(key, arg) {let result;try {result gen[key](arg);} catch (error) {return reject(error);}const { value, done } result;if (done) {return resolve(value);} else {return Promise.resolve(value).then(val {step(next, val);}, err {step(throw, err);});}}step(next);}); } asyncToGenerator(genFn); 在上述代码中我们首先创建了一个 promiseFn 函数该函数返回一个在 2 秒后解析的 Promise。然后我们创建了一个 Generator 函数 genFn在该函数内部我们使用 yield 关键字暂停执行并等待 promiseFn 的结果。最后我们创建了一个 asyncToGenerator 函数该函数接受一个 Generator 函数作为参数并返回一个新的 Promise这个 Promise 的解析值就是 Generator 函数的返回值。
http://www.yutouwan.com/news/407327/

相关文章:

  • 住房和城乡建设部网站预售证知名企业网站搭建品牌
  • 0505网页制作与网站建设建设网站北京市
  • 山西响应式网站建设推荐优秀购物网站
  • 企业网站的优化北京seo网络优化招聘网
  • 网站建设知识点怎么建设淘宝联盟的网站
  • 青岛做网站的有哪些南京网络推广
  • 旅游电子商务网站的建设包括哪些步骤?网站建设中有哪些常用技术?seo需求
  • 网站建设产品介绍wordpress调用子目录名称
  • 宠物店网站模板泉州制作网页公司
  • 网站做好了怎么做后台管理网站建设与app开发
  • 烟台做网站那家好俄罗斯乌克兰局势最新消息
  • 服装网站技术解决方案黑糖 wordpress 主题
  • 网上哪里可以定制衣服网络优化是做什么的
  • wordpress 网站关键词做jsp网站的步骤
  • 优质服务的小企业网站建设雷州市住房和城乡规划建设局网站
  • 潞城市网站建设公司沈阳室内设计公司排名
  • 免费的个人网站html代码深圳外贸网站建设服务商
  • 如何制作网站连接数据库做网站月入7000
  • 郑州网站建设哪里好wordpress 快报插件
  • 网站权重怎么提高网站建设的实验的结论
  • 工程建设招标网都有哪些网站好的网站建设公司有哪些
  • 网站建设管理需要招聘什么人才国外做外贸哪个网站好些
  • 外贸网站做的作用是什么公司简介模板及介绍
  • 怎样做家普网站58首码项目网
  • 网站后台页面设计做网站都去哪申请网址
  • 如何上传文件到网站长沙软件开发工资一般多少
  • 网站标题 逗号为什么用Vue做网站的很少
  • 惠州做网站建设价格关于电子商务网站建设的参考文献
  • 论坛建站哪个比较好wordpress设置仅对会员可见
  • 静态网站被挂马做企业网站用服务器