JavaScript实现串行请求的示例代码
短视频,自媒体,达人种草一站服务 这篇文章主要介绍了JavaScript实现串行请求的示例代码,帮助大家更好的理解和使用JavaScript,感兴趣的朋友可以了解下 使用async和await var fn = async function(promiseArr) { Promise实现 依照 promises 规范,一旦一个 promise 被创建,它就被执行了。如果then方法里返回的是一个promise对象,那么执行下一个then 的时候必定是在上一个then执行完之后执行。 关键点在于then的时候再创建 var createPromise = function(time) { function serpromise(arr) { var arr=[createPromise(2),createPromise(1),createPromise(3),createPromise(4),createPromise(5)]; Array.prototype.reduce + async/await 版本 const reduceAsync = ( arr ) => { Array.prototype.reduce + Promise 版本 const reducePromise = ( arr ) => { # 执行结果 { req: 'PM:04:49:08', rep: 'PM:04:49:11', item: 1 } { req: 'PM:04:49:11', rep: 'PM:04:49:14', item: 2 } { req: 'PM:04:49:14', rep: 'PM:04:49:17', item: 3 } { req: 'PM:04:49:17', rep: 'PM:04:49:20', item: 4 } Array.prototype.map + Promise 版本 const mapPromise = ( arr ) => { 用 map 遍历时,需要过滤初始promise的返回值,并且在遍历结束后,需手动执行最后以后一个promise,否则就会变成如下结果 # 执行结果 {} { req: 'PM:04:49:08', rep: 'PM:04:49:11', item: 1 } { req: 'PM:04:49:11', rep: 'PM:04:49:14', item: 2 } { req: 'PM:04:49:14', rep: 'PM:04:49:17', item: 3 } 以上结果明显不是我们所需要的,但是需要手动过滤第一个promise和执行最后一个promise,会增项不必要的代码量和出错率 后将 mapPromise 修改如下,其原理和Array.prototype.reduce+Promise版本类似 const mapPromise = ( arr ) => { 其他 Array.prototype.forEach、Array.prototype.filter、Array.prototype.some、Array.prototype.every等方法和Array.prototype.map类似,就不过多赘述 (编辑:开发网_新乡站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- OPPO A12e外观配置全曝光:骁龙450+4230mAh电池
- 三星Odyssey G9显示器上市 49寸/5K/240Hz/1000R超高曲率
- 华为1996年员工招聘广告曝光:年龄35岁以下、本科/硕士以上
- 捐款、送物资、药物研发…互联网公司能做的远不止这些
- 美国IXWebhosting挤入十大廉价虚拟主机排行榜
- 高通发布首款支持5G网络的6系列骁龙690移动芯片组
- iPhone 12不标配充电器 网友发现雷军在五年前就有过设想
- 9999元 三星Galaxy S20 Ultra意象白上市:一亿像素/最高100
- 纽约市将暂停地铁通宵运营 以对车厢进行消毒
- 四个理由告诉你为什么Twitter万万卖不得!硅谷巨头们还是洗