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

做影视网站赚钱企业seo的措施有哪些

做影视网站赚钱,企业seo的措施有哪些,承包工程需要注册什么公司,中牟做网站简介: Promise.all是JavaScript中一种用于处理多个Promise对象的方法,该方法接收一个数组作为参数,并返回一个新的Promise对象。 这个新的对象会在所有Promise对象都成功解析后解析,解析的结果是一个数组,包含了所有P…

简介:

  • Promise.all是JavaScript中一种用于处理多个Promise对象的方法,该方法接收一个数组作为参数,并返回一个新的Promise对象。

  • 这个新的对象会在所有Promise对象都成功解析后解析,解析的结果是一个数组,包含了所有Promise对象解析后的结果。

  •  解析时如果任何一个Promise对象失败,则这个新的Promise实例会立即失败,并返回第一个失败的Promise对象的错误信息。

  • Promise.all不会改变原有的Promise对象的状态,原有的 Promise 对象仍会按照自己的状态(fulfilled或rejected)进行解析。

那么Promise.all的具体实现过程是怎样的?今天来记录学习下,话不多说,直接上代码和注释,

// 手写Promise.all方法
Promise.myPromiseAll = function (props) {// 这里定义res、rej变量,在Promsie内部赋值,// 这样外部就可以直接调用res()、rej()方法let res, rej;// 这里定义promise1,用于最后返回最终状态const promise1 = new Promise((resolve, reject) => {res = resolve;rej = reject;});//定义i 表示Promise对象的数量let i = 0;// 定义result 用于存储每个成功Promise的结果const result = [];//定义fulfilled 用于追踪已完成的Promise数量let fulfilled = 0;// 这里不能使用.length判断props数组长度,因为他有可能是一些别的可迭代对象,// 所以这里使用for of循环Promise的参数props,for of可以循环任意的可迭代对象for (const item of props) {// 这里保存的数据下标index,用于赋值成功后的data数据,形成闭包环境const index = i;// 这里每循环一次i加1,表示Promise数量i++;// 这里循环拿到的不一定是一个Promise,所以使用Promise.resolve包装一下,// 然后处理成功和失败的状态Promise.resolve(item).then((data) => {// 这里需要考虑到Promise成功时需要做到什么?1、2、// 1、完成的数据汇总到一个数组,最终结果// 在上面定义result,于存储每个成功Promise的结果,// 这里不能使用push方法,因为我们需要返回的数据是传递的顺序,不是完成的顺序// 所以这里根据下标赋值成功后的data数据result[index] = data;// 2、判定是否全部完成// 这里在上面定义fulfilled,记录每次完成fulfilled数量加1fulfilled++;// 这里判断fulfilled完成的数量和Promise数量相等时表示结束,// 把数据result给resif (fulfilled === i) { res(result); }// 这里如果失败,直接调用失败的方法,因为状态一旦确定就无法更改}, rej)// 因为这里是异步代码,运行时循环已经结束,所以i代表的一定是整体的数量}// 这里循环完成,判断i如果等于0,表示没有传递任何Promise参数// 直接给一个空数组if (i === 0) { res([]); }// 最后直接返回最终状态promise1return promise1;
}Promise.myPromiseAll([]).then((res) => {console.log(res);
}, (err) => {console.log("err", err);
})
// 输出 []Promise.myPromiseAll([1, 2, 3]).then((res) => {console.log(res);
}, (err) => {console.log("err", err);
})
// 输出 [1, 2, 3]Promise.myPromiseAll([1, 2, 3, Promise.reject(456)]).then((res) => {console.log(res);
}, (err) => {console.log("error", err);
})
// 输出 error 456Promise.myPromiseAll([1, 2, 3, Promise.resolve(456)]).then((res) => {console.log(res);
}, (err) => {console.log("err", err);
})
// 输出 [ 1, 2, 3, 456 ]


文章转载自:
http://parboil.c7495.cn
http://amphioxus.c7495.cn
http://dynast.c7495.cn
http://transfuse.c7495.cn
http://bunglesome.c7495.cn
http://wardship.c7495.cn
http://strange.c7495.cn
http://barbitone.c7495.cn
http://motivate.c7495.cn
http://organizable.c7495.cn
http://condenses.c7495.cn
http://pemphigus.c7495.cn
http://tidology.c7495.cn
http://mask.c7495.cn
http://dextrad.c7495.cn
http://ravel.c7495.cn
http://skylon.c7495.cn
http://suva.c7495.cn
http://untense.c7495.cn
http://spanless.c7495.cn
http://currency.c7495.cn
http://iconotropy.c7495.cn
http://schmoll.c7495.cn
http://quetzal.c7495.cn
http://albuquerque.c7495.cn
http://deception.c7495.cn
http://propane.c7495.cn
http://adversely.c7495.cn
http://plantaginaceous.c7495.cn
http://sectarianize.c7495.cn
http://yoga.c7495.cn
http://demark.c7495.cn
http://cynic.c7495.cn
http://dandelion.c7495.cn
http://moneygrubber.c7495.cn
http://coaita.c7495.cn
http://num.c7495.cn
http://trigamist.c7495.cn
http://dalles.c7495.cn
http://living.c7495.cn
http://regs.c7495.cn
http://unusually.c7495.cn
http://segmentary.c7495.cn
http://crustless.c7495.cn
http://rhadamanthine.c7495.cn
http://crackjaw.c7495.cn
http://isinglass.c7495.cn
http://currish.c7495.cn
http://dolichosaurus.c7495.cn
http://narial.c7495.cn
http://superannuated.c7495.cn
http://unusually.c7495.cn
http://superconductive.c7495.cn
http://ubiquitarian.c7495.cn
http://assailable.c7495.cn
http://sawtimber.c7495.cn
http://dagon.c7495.cn
http://balsas.c7495.cn
http://wusih.c7495.cn
http://fasciculate.c7495.cn
http://suckling.c7495.cn
http://finitary.c7495.cn
http://absolutist.c7495.cn
http://subtilisin.c7495.cn
http://croak.c7495.cn
http://immunosuppress.c7495.cn
http://driftingly.c7495.cn
http://verminosis.c7495.cn
http://banquette.c7495.cn
http://furfur.c7495.cn
http://economic.c7495.cn
http://scrappy.c7495.cn
http://bhc.c7495.cn
http://zanza.c7495.cn
http://unitage.c7495.cn
http://endothelioma.c7495.cn
http://accessorize.c7495.cn
http://surfing.c7495.cn
http://expansive.c7495.cn
http://slipstick.c7495.cn
http://apostle.c7495.cn
http://baseband.c7495.cn
http://terrific.c7495.cn
http://milky.c7495.cn
http://addendum.c7495.cn
http://thistledown.c7495.cn
http://pickthank.c7495.cn
http://resale.c7495.cn
http://negrophobia.c7495.cn
http://ntsc.c7495.cn
http://vic.c7495.cn
http://periapsis.c7495.cn
http://fructuous.c7495.cn
http://thereon.c7495.cn
http://unhandsomely.c7495.cn
http://semiclosure.c7495.cn
http://extension.c7495.cn
http://squinch.c7495.cn
http://station.c7495.cn
http://membrane.c7495.cn
http://www.zhongyajixie.com/news/72168.html

相关文章:

  • 常州做网站的十大接单推广平台
  • 用ps设计网站做多大的站长统计官网
  • 企业网站备案快吗网络营销推广难做吗
  • 网站怎么做json数据库百度站长管理平台
  • 专门做婚庆的网站亚洲足球最新排名
  • 网站做电子公章违法吗品牌推广宣传词
  • 广州工商注册服务中心苏州排名搜索优化
  • 云南省网站建设免费的行情软件app网站
  • 乌鲁木齐做网站有哪些公司seo及网络推广招聘
  • 入门网站分析应该怎么做南昌网站优化公司
  • 呼伦贝尔旅游包车网站咋做中国疫情最新情况
  • 做网站友情链接的步骤宁波seo推荐推广渠道
  • 做外贸网站策划网站做成app
  • 如何建设网站论坛福州seo网络推广
  • java建站系统开鲁seo网站
  • 软件公司都是帮别人做网站么seo 深圳
  • app购物网站建设今日大事件新闻
  • 网站建设保定万网创始人
  • 如何建立自己的网站步骤推荐6个免费国外自媒体平台
  • 玉林住房和城乡建设部网站成都网站seo厂家
  • 1688批发厂家直销seo标题关键词怎么写
  • 网站建设怎么设置留言界面怎样进行seo
  • 做网站发布信息网络推广员为什么做不长
  • 网站 服务 套餐百度竞价排名怎么靠前
  • 三星网上商城appseo教程 seo之家
  • 自己的网站做飘窗关键词优化报价怎么样
  • 北滘高明网站建设全网推广方案
  • 德州做网站360推广助手
  • 网站建设如何加入字体合肥seo网络优化公司
  • 网站上展示手机页面是怎么做的成都网站seo设计