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

网站关键词搜索排名怎么做连云港做网站最好

网站关键词搜索排名怎么做,连云港做网站最好,深圳建设商城网站,访问国外网站 速度慢Promise 简单说就是一个容器#xff0c;里面保存着某个未来才会结束的事件#xff08;通常是一个异步操作#xff09;的结果。 语法上#xff1a; Promise 是一个对象#xff0c;从它可以获取异步操作的消息。 特点 对象的状态不受外界影响。Promise 对象戴白哦一个异步操…Promise 简单说就是一个容器里面保存着某个未来才会结束的事件通常是一个异步操作的结果。 语法上 Promise 是一个对象从它可以获取异步操作的消息。 特点 对象的状态不受外界影响。Promise 对象戴白哦一个异步操作由三种状态pending(进行中)fulfilled(已成功), rejected以失败。只有异步操作的结果可以决定当前是哪一种状态。其他操作无法改变这个状态。一旦状态改变就不会再变一直保存这个结果resolved-已定型任何时候都可以得到这个结果两种可能-从pending变为fulfilled 和从 pending变为rejected。如果改变发生后再对promise对象添加回调函数也会立即得到这个结果 缺点 一旦新建Promise就会立即执行无法中途取消如果不设置回调函数Promise内部抛出的错误不会反应到外部。当处于pending状态时无法得知母亲进行到那个阶段刚开始还是将完成 Promise.resolve() resolve函数的作用是将Promise对象的状态从“未完成”变为“成功”,在异步操作成功时调用并将异步操作的结果作为参数传递出去 Promise.resolve(foo) // 等价于 new Promise(resolve resolve(foo))Promise.resolve方法的参数分成四种情况 如果参数是 Promise 实例那么Promise.resolve将不做任何修改、原封不动地返回这个实例。 thenable对象指的是具有then方法的对象Promise.resolve方法会将这个对象转为 Promise 对象然后就立即执行thenable对象的then方法。 let thenable {then: function(resolve, reject) {resolve(42);} }; let p1 Promise.resolve(thenable); p1.then(function(value) {console.log(value); // 42 });如果参数是一个原始值或者是一个不具有then方法的对象则Promise.resolve方法返回一个新的 Promise 对象状态为resolved。 const p Promise.resolve(Hello); p.then(function (s){console.log(s) }); // HelloPromise.resolve()方法允许调用时不带参数直接返回一个resolved状态的 Promise 对象。 Promise.reject() 基本用法 resolve函数的作用是将Promise对象的状态从“未完成”变为“成功”,在异步操作成功时调用并将异步操作的结果作为参数传递出去 reject函数的作用是将Promise对象的状态从“未完成”变为“失败”即从 pending 变为 rejected在异步操作失败时调用并将异步操作报出的错误作为参数传递出去。 then方法可以接受两个回调函数作为参数。第一个回调函数是Promise对象的状态变为resolved时调用第二个回调函数是Promise对象的状态变为rejected时调用。其中第二个函数是可选的不一定要提供。这两个函数都接受Promise对象传出的值作为参数。 Promise实例的状态变为resolved就会触发then方法绑定的回调函数。 Promise 新建后就会立即执行。 Promise.prototype.then() then方法是定义在原型对象,作用是为 Promise 实例添加状态改变时的回调函数。 then方法返回的是一个新的Promise实例,可以采用链式写法 第一个回调函数完成以后会将返回结果作为参数传入第二个回调函数。 采用链式的then可以指定一组按照次序调用的回调函数。这时前一个回调函数有可能返回的还是一个Promise对象即有异步操作这时后一个回调函数就会等待该Promise对象的状态发生变化才会被调用。 Promise.prototype.catch() 指定发生错误时的回调函数。 如果 Promise 状态已经变成resolved再抛出错误是无效的。因为 Promise 的状态一旦改变就永久保持该状态不会再变了。Promise 对象的错误具有“冒泡”性质会一直向后传递直到被捕获为止。也就是说错误总是会被下一个catch语句捕获。般来说不要在then()方法里面定义 Reject 状态的回调函数,建议总是使用catch()方法而不使用then()方法的第二个参数。理由是第二种写法可以捕获前面then方法执行中的错误如果没有使用catch()方法指定错误处理的回调函数Promise 对象抛出的错误不会传递到外层代码即不会有任何反应。如果没有使用catch()方法指定错误处理的回调函数Promise 对象抛出的错误不会传递到外层代码即不会有任何反应。但是不会退出进程、终止脚本执行2 秒之后还是会输出123。这就是说Promise 内部的错误不会影响到 Promise 外部的代码通俗的说法就是“Promise 会吃掉错误”。 const someAsyncThing function() {return new Promise(function(resolve, reject) {// 下面一行会报错因为x没有声明resolve(x 2);}); }; someAsyncThing().then(function() {console.log(everything is great); }); setTimeout(() { console.log(123) }, 2000); // Uncaught (in promise) ReferenceError: x is not defined // 123Node.js 有一个unhandledRejection事件专门监听未捕获的reject错误上面的脚本会触发这个事件的监听函数可以在监听函数里面抛出错误。Node.js 有一个unhandledRejection事件专门监听未捕获的reject错误上面的脚本会触发这个事件的监听函数可以在监听函数里面抛出错误。 process.on(unhandledRejection, function (err, p) {throw err; });Promise.prototype.finally() 不管 Promise 对象最后状态如何都会执行的操作。 finally方法的回调函数不接受任何参数 Promise.all() Promise.all()方法用于将多个 Promise 实例包装成一个新的 Promise 实例 const p Promise.all([p1, p2, p3]);接受一个Promise对象数组作为参数,如果不是就会先调用下面讲到的Promise.resolve方法将参数转为 Promise 实例再进一步处理。 Promise.all()方法的参数可以不是数组但必须具有 Iterator 接口且返回的每个成员都是 Promise 实例。 p的状态由p1、p2、p3决定分成两种情况。 只有p1、p2、p3的状态都变成fulfilledp的状态才会变成fulfilled此时p1、p2、p3的返回值组成一个数组传递给p的回调函数。只要p1、p2、p3之中有一个被rejectedp的状态就变成rejected此时第一个被reject的实例的返回值会传递给p的回调函数。 如果作为参数的 Promise 实例自己定义了catch方法那么它一旦被rejected并不会触发Promise.all()的catch方法。 上面代码中p1会resolvedp2首先会rejected但是p2有自己的catch方法该方法返回的是一个新的 Promise 实例p2指向的实际上是这个实例。该实例执行完catch方法后也会变成resolved导致Promise.all()方法参数里面的两个实例都会resolved因此会调用then方法指定的回调函数而不会调用catch方法指定的回调函数。 如果p2没有自己的catch方法就会调用Promise.all()的catch方法。 Promise.race() 将多个 Promise 实例包装成一个新的 Promise 实例。 const p Promise.race([p1, p2, p3]);只要p1、p2、p3之中有一个实例率先改变状态p的状态就跟着改变。那个率先改变的 Promise 实例的返回值就传递给p的回调函数。 Promise.race([11,2,3]).then((a,b,c) {console.log(a,b,c)//1,undefined,undefined}).then((a,b,c) {console.log(a,b,c,res---)}) Promise.allSettled() Promise.allSettled()方法接受一组 Promise 实例作为参数包装成一个新的 Promise 实例。只有等到所有这些参数实例都返回结果不管是fulfilled还是rejected包装实例才会结束。 该方法返回的新的 Promise 实例一旦结束状态总是fulfilled不会变成rejected。状态变成fulfilled后Promise 的监听函数接收到的参数是一个数组每个成员对应一个传入Promise.allSettled()的 Promise 实例。 const resolved Promise.resolve(42); const rejected Promise.reject(-1); const allSettledPromise Promise.allSettled([resolved, rejected]); allSettledPromise.then(function (results) {console.log(results); }); // [ // { status: fulfilled, value: 42 }, // { status: rejected, reason: -1 } // ]Promise.any() 只要参数实例有一个变成fulfilled状态包装实例就会变成fulfilled状态如果所有参数实例都变成rejected状态包装实例就会变成rejected状态。 Promise.any()跟Promise.race()方法很像只有一点不同就是不会因为某个 Promise 变成rejected状态而结束。
http://www.w-s-a.com/news/67625/

相关文章:

  • 地区电商网站系统建筑施工图纸培训班
  • 网站外包维护一年多少钱医院网站 功能
  • 电子商务市场的发展前景seo推广平台服务
  • 乐清网页设计公司哪家好seo推广任务小结
  • 360建筑网是什么pc优化工具
  • 越秀免费网站建设风景区网站建设项目建设可行性
  • 网站建站公司一站式服务学校网站开发招标
  • asp.net mvc 5 网站开发之美电商网站 流程图
  • 室内设计素材网站推荐郑州专业做淘宝网站建设
  • 新建的网站怎么做seo优化模板规格尺寸及价格
  • 平湖网站设计做电子元器件销售什么网站好
  • 可视化网站模板我想建个网站网站怎么建域名
  • 达州网站建设qinsanw南京市建设发展集团有限公司网站
  • django 网站开发实例公司排行榜
  • 韩国做美食网站阳江网站建设 公司价格
  • 网站开发哪里接业务长春高端模板建站
  • 深圳网站制作公司方案dw一个完整网页的代码
  • asp手机网站源码下载做seo推广网站
  • 网站优化建议怎么写网站维护主要有哪些内容和方法
  • 建设网站需要钱吗网络推广加盟
  • 高清素材图片的网站泰安网签备案查询
  • 自助网站建设怎么建设房地产的最新政策
  • 企业网站 生成html网站侵权怎么做公证或证据保存
  • php 手机网站cms系统购物网站制作流程
  • 网络公司网站开发河北省城乡住房和建设厅网站
  • 做网站配置wordpress 中文api
  • 怎样把网站做的好看县蒙文网站建设汇报
  • 网站的优化什么做广西桂林新闻最新消息
  • 做网站准备什么软件搜索引擎广告推广
  • 网站开发地图板块浮动网页设计与制作的模板