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

php p2p网站建设网站建设如何提高浏览量

php p2p网站建设,网站建设如何提高浏览量,重点项目建设网站,wordpress通过id调用文章这篇主要讲一下Promise的类方法的基本使用#xff0c;至于Promise的基本使用这里就不赘述了#xff0c;之前也有手写过Promise、实现了Promise的核心逻辑。其实我们平时用Promise也挺多的#xff0c;不过又出现了两个新的语法#xff08;ES11#xff0c;ES12新增了两个至于Promise的基本使用这里就不赘述了之前也有手写过Promise、实现了Promise的核心逻辑。其实我们平时用Promise也挺多的不过又出现了两个新的语法ES11ES12新增了两个所以这篇就简单说一下也挺简单 1. all  Promise.all方法我们可以传入一个数组参数数组中可以放多个Promise它会等所有的Promise的状态都为fulfilled时来获取最终的结果它会把所有每个Promise resolve的结果放在一个数组中且结果的顺序和我们传入的数组参数中的Promise保持一直跟时间无关 const p1 new Promise((resolve, reject) {const obj { data: 11111 }setTimeout(() {resolve(obj)}, 3000) })const p2 new Promise((resolve, reject) {const obj { data: 22222 }setTimeout(() {resolve(obj)}, 2000) })const p3 new Promise((resolve, reject) {const obj { data: 33333 }setTimeout(() {resolve(obj)}, 1000) })Promise.all([p1, p2, p3]).then(result {console.log(result) }).catch(err {console.log(err:, err) }) 上面代码会在3s后在then方法中拿到最终的结果如下 但是all方法是有个缺陷的当有其中一个Promise变成rejected状态时新Promise就会立即变成对应的reject状态也就是只能在catch中捕获到错误其他fulfilled状态的值我们是拿不到的。因此有了allSettled方法 2.  allSettled allSettled是在ES112020中添加的新的APIPromise.allSettled 该方法会在所有的Promise都有结果时无论是fulfilled还是rejected都会在then方法中拿到我们的最终的结果  const p1 new Promise((resolve, reject) {const obj { data: 11111 }setTimeout(() {resolve(obj)}, 3000) })const p2 new Promise((resolve, reject) { const obj { data: 22222 }setTimeout(() {reject(obj)}, 2000) })const p3 new Promise((resolve, reject) {const obj { data: 33333 }setTimeout(() {resolve(obj)}, 1000) })Promise.allSettled([p1, p2, p3]).then(result {console.log(result) }).catch(err {console.log(err:, err) }) 我们传入了三个Promise在2s的时候我们的p2就reject拒绝了但是我们同样可以拿到结果但是这个result结果数组结构有点儿变化我们看下打印结果  我们可以看到allSettled的结果是一个数组数组中存放着每一个Promise的结果并且是对应一个对象的这个对象中包含status状态以及对应的value值 3.  race race是竞技、赛跑的意思也就是谁先有结果我就要谁这个result拿到的结果就不是一个数组了而是最快的一个Promise resolve出来的结果  const p1 new Promise((resolve, reject) {const obj { data: 11111 }setTimeout(() {resolve(obj)}, 3000) })const p2 new Promise((resolve, reject) { const obj { data: 22222 }setTimeout(() {resolve(obj)}, 2000) })const p3 new Promise((resolve, reject) {const obj { data: 33333 }setTimeout(() {resolve(obj)}, 1000) })Promise.race([p1, p2, p3]).then(result {console.log(result) }).catch(err {console.log(err:, err) }) 看下控制台的打印  因为p3用时最短最快所以result拿到的就是p3resolve出的结果值但是如果最快的那个reject了呢我们看一下  const p1 new Promise((resolve, reject) {const obj { data: 11111 }setTimeout(() {resolve(obj)}, 3000) })const p2 new Promise((resolve, reject) { const obj { data: 22222 }setTimeout(() {reject(出错了~~~)}, 500) })const p3 new Promise((resolve, reject) {const obj { data: 33333 }setTimeout(() {resolve(obj)}, 1000) })Promise.race([p1, p2, p3]).then(result {console.log(result) }).catch(err {console.log(err:, err) }) 我们修改一下代码将p2时间设置为0.5s且是rejected的状态我们再看下打印结果  直接就会被catch捕获了这样看来如果最快的那个状态为rejected状态的话那我们后面的resolve的状态也拿不到值了。如果我们想拿到最快的fulfilled状态的值也就是如果前面有reject的我们就忽略掉接着等待下一个resolve的怎么做呢这就有了any方法 4. any  const p1 new Promise((resolve, reject) {const obj { data: 11111 }setTimeout(() {resolve(obj)}, 3000) })const p2 new Promise((resolve, reject) { const obj { data: 22222 }setTimeout(() {reject(出错了~~~)}, 500) })const p3 new Promise((resolve, reject) {const obj { data: 33333 }setTimeout(() {resolve(obj)}, 1000) })Promise.any([p1, p2, p3]).then(result {console.log(result) }).catch(err {console.log(err:, err) }) 还是上一次的代码我们把方法改为any再看一下打印结果  我们在1s后就会拿到p3 resolve的结果 那个p2 reject的就忽略掉了那如果我们所有的Promise都是rejected状态时它会怎么做呢我们看一下 const p1 new Promise((resolve, reject) {setTimeout(() {reject(出错了111~~~)}, 3000) })const p2 new Promise((resolve, reject) { setTimeout(() {reject(出错了222~~~)}, 500) })const p3 new Promise((resolve, reject) {setTimeout(() {reject(出错了333~~~)}, 1000) })Promise.any([p1, p2, p3]).then(result {console.log(result) }).catch(err {console.log(err:, err, err.errors) }) 我们看下打印结果  它就会走catch了并且打印出了错误信息其中的 err.errors中会有我们reject传递的错误信息err是它内部封装的错误提示
http://www.hkea.cn/news/14510148/

相关文章:

  • 网站建设的整体流程有哪些?兰州模板网站建设
  • dede分类信息网站电商网站建设实训要求
  • 沈阳网站建设专业公司山东省建设厅网站特种作业
  • 学建设网站及功能网页设计的背景与意义
  • 怎么样网站速度快全局右下角弹窗wordpress
  • 网站建设mfdos 优帮云从网上怎么做网站营销
  • 网站的建设方式济南网站建设 刘彬彬
  • 快速网站开发课程wordpress主机在哪里看
  • 江西省住房城乡建设厅网站网站转回国内
  • 合肥制作网站价格交互设计是做什么的
  • 1个服务器可以做多少个网站擦彩网站开发
  • 网站在哪里建立中国建设银行网上银行官网
  • 网站的平面设计图用ps做学校网站建设的重要性
  • net网站开发框架做电商的步骤
  • 房产如何做网站网站推送
  • 深圳企业做网站公司国外vps
  • 学校网站建设的意见怎么制作网站教程图片
  • 做手机网站用什么程序好昆明seo关键词
  • 网站空间稳定性wordpress 移动端不显示
  • 企业网站html模板男女做受视频网站
  • 中融木业网站是那个网站做的怎么注册公司官网
  • 广州网站建设定制价格做网站零成本
  • 岳阳市 网站建设做公众号和网站主页的区别
  • 网站开发示例溧阳企业网站建设价格
  • 网站建设的意义以及重要性自建域名
  • 联想网站建设摘要网络营销策划方案展示
  • 福建省建设厅网站职业资格建筑工程网站监理答案
  • 网站宣传和推广的方法有哪些做数据权威的网站
  • 做门户网站主要技术哪一块wordpress最新下载
  • 爱空间网站模板wordpress远程发布XML