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类似,就不过多赘述 (编辑:凉山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Ubuntu 19.04“ Disco Dingo”将于本月结束支持
- 台湾首个5G资费套餐上市 起步价144元/24GB
- [图]Windows 10硬件加速GPU调度即将上线 AMD和Intel的已在路
- 单条可达256GB DDR5内存今年开始出货:十几个实例正在准备中
- Fitbit已被谷歌收入囊中 下一个被收购的将是GoPro?
- 向Gmail看齐:微软计划为Outlook添加智能输入建议功能
- “买它”?网红带货须先体验 若售假量大或担刑责
- 黄仁勋:任天堂Switch和游戏本给了NVIDIA第二春
- SaaS系统业务调研复盘:以美容院信息管理系统为例
- 比H.265更先进!MPEG-5编码标准落地:华为、高通、三星首批