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

深圳住建设局网站公租房wordpress是干啥的

深圳住建设局网站公租房,wordpress是干啥的,小程序制作一个需要多少钱,环评登记表在哪个网站做目录 前言一、执行器函数的执行顺序二、如何在then()中抛出错误三、期约的非重入特性四、串行化期约五、应对回调地狱结语 前言 依据《JavaScript高级程序设计》对Promise期约相关进行查缺补漏. 一、执行器函数的执行顺序 执行器函数虽作为期约的参数, 却是期约的… 目录 前言一、执行器函数的执行顺序二、如何在then()中抛出错误三、期约的非重入特性四、串行化期约五、应对回调地狱结语 前言 依据《JavaScript高级程序设计》对Promise期约相关进行查缺补漏. 一、执行器函数的执行顺序 执行器函数虽作为期约的参数, 却是期约的初始化程序在同步队列中执行, 即程序从上到下执行下来碰到期约, 会先在同步任务队列执行完执行器函数再进去期约. ECMAScript暴露的异步结构中, 任何对象都有then方法, 而有实现了该方法的结构即被认为实现了thenable接口. Promise的原型上也实现了then()方法: new Promise((resolve, reject) { ... }).then();then()只接受函数类型参数且最多2个. 二、如何在then()中抛出错误 then((){throw baz; }); then((){Error(qux); }) 两种都正确前者抛出报错; 后者返回一个包装于Promise对象中的错误对象可以反应调用栈情况, 以正常值输出. 三、期约的非重入特性 期约落定后, 处理程序(即then的参数函数onResolved和onRejected)仅会加入排期而非立即执行, 而排在处理程序后的同步语句会先执行, 此特性是由Javascript运行时保证的即then内部语句的输出会晚于then外部更加靠后的语句的输出. 其原因为在一个落定期约上调用then虽会把then中的处理程序推进消息队列, 但在当前线程上的同步代码执行完成前处理程序依然不会被执行. 更符合常理一些的写法, 对一个已写入处理程序的期约落定后, 也会是这样的输出顺序. 四、串行化期约 期约连锁: then()内再构建期约, 串行化异步任务即 new Promise((resolve, reject) { console.log (P1 executor); setTimeout (resolve, 1000); }) .then (() { new Promise((resolve, reject) { console.log(P2 executor); setTimeout(resolve, 1000); }) .then(() {new Promise((resolve, reject) { console.log(P3 executor); setTimeout(resolve, 1000); });但书中似乎认为这种串行式结构并未解决回调地狱(未明确表明). 五、应对回调地狱 可见第四节这种串行结构有同质部分如果将同质部分使用工厂函数调用生产这种结构可以演化为 function delayedResolve(str) {return new Promise((resolve, reject) { console.log(str);setTimeout (resolve, 1000);}); } //工厂函数delayResolve(P1 executor).then(() { delayResolve(P2 executor); }) .then(() {delayResolve(P3 executor) })每次调用生产返回一块期约对象同质部分返回后相当于回到了期约串行结构: new Promise().then(() {delayResolve(); }).then()上例期约体同质部分只分为一种打比方如果上例有一段串行块的期约内还输出了1这就是另一种同质部分就要再单独为这段输出了1的期约构建工厂函数. 以上为基础如果不使用期约以回调函数形式唤起后续的异步操作就会是这样 function delayedExecute(str, callback null) { setTimeout(() { callback callback();}, 1000) }delayedExecute(P1callback, () {delayedExecute(P2callback, () {delayedExecute(P3callback, () { delayedExecute(P4callback);});}); });《JavaScript高级程序设计》中称这样的一种结构, 破除了回调地狱. 那么这种结构到实战中加上ajax请求就不能再每次传一个字面量因为我们要模仿回调地狱里下个参数为上个结果的情况就要把上次请求的结果传到下个回调函数内 function delayedExecute(params, callback null) { $.ajax({url: xx/xx,type:post,data: { a: params.a, b: params.b },success (res) { callback callback(res);} }) }delayedExecute(data0, (res0) {delayedExecute(res0, (res1) {delayedExecute(res1, (res2) { delayedExecute(res2);});}); });结语 如有疏漏请为我指正谢谢.
http://www.hkea.cn/news/14553427/

相关文章:

  • 网站设计用的技术网站备案 拉黑
  • 国产做爰网站昆明网站开发价格
  • 网站建设虚拟主机移动网站建设信息
  • 学技巧网站制作竞价在什么网站上做
  • 如何做一个个人网站免费货源在线永久
  • 无锡做网站首选众诺网站规划方案模板
  • 建设网站英语上海展览设计制作公司
  • 网站策划工具个人网站建设素材
  • 郑州网站建设(智巢)南沙网站制作
  • 西安那些做网站的公司公司变更注册地址的流程
  • 网站建设模板怎么用如何用服务器搭建网站
  • 哈尔滨网站制作建设廊坊seo管理
  • 在社保网站做调动肇庆seo排名外包
  • 吉林省住房和城乡建设厅网站沈阳网站优化哪家好
  • 做网站和APP需要多少钱盐城网站开发建设
  • 网站建设找哪一家比较好4.9.8wordpress
  • 如何设立外贸网站网站开发目录static
  • 政务网站建设和技术维护制度建筑招工找活平台
  • 在哪里查网站是什么时候建站德清网站制作
  • 网站开发的主要工作步骤超酷个人网站欣赏
  • 唯品会 一家专门做特卖的网站手机版深圳便宜做网站
  • 建设部颁发的证书网站合肥网站建设企业
  • 自适应网站方案seo关键词优化最多可以添加几个词
  • 企业网站建设需注意点wordpress 股票 插件
  • 阿里云 拦截网站团购网站系统建设进度安排
  • 建设网站增城查询公司营业执照的网站
  • 做编程网站有哪些方面包装模板网站
  • 网站推广费用视觉创意设计公司
  • 建设网站具体的步骤模板网站视频
  • 西安建设网站首页谷歌搜索引擎免费