返回顶部
首页 > 资讯 > 前端开发 > node.js >如何使用ES6的Promise.all实现至少请求多长时间
  • 758
分享到

如何使用ES6的Promise.all实现至少请求多长时间

2024-04-02 19:04:59 758人浏览 安东尼
摘要

这篇文章主要为大家展示了“如何使用es6的Promise.all实现至少请求多长时间”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用ES6的Promise

这篇文章主要为大家展示了“如何使用es6的Promise.all实现至少请求多长时间”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用ES6的Promise.all实现至少请求多长时间”这篇文章吧。

1、背景

我们都知道ajax请求可以加个timeout,就是最多请求多少时间,如果超过这个时间直接就报错。 这个是最多请求多长时间,我现在要做的是,最少要请求多长时间,然后才能执行后续的逻辑。

比如,一个ajax请求 x 毫秒就执行完毕了,但我要让他至少执行1秒钟,那我们会这么想: ajax完成后 , 1. 如果x<1s, 那我们先setTimeout => 1s - x ,然后执行后续操作。 2 如果x>=1s, 那我们直接执行后续操作。 想想这可繁琐了,我们还要在前面记录一下开始时间,后面记录一下结束时间,然后才能得到x。。。。

或者变量flag,ajax里面完成设置flag,setTimeout里面完成也设置flag等等等方法,都很繁琐、

2、Solution

现在ES6有个Promise.all,非常适合解决此类问题。直接这样 Promise.all([ajaxPromise(), waitPromise(1s)]).then(()=> 至少执行了1s) 。。。

如果说是 多个ajax(promise)按顺序执行,但总共加起来的时间至少是1s呢? 那就用一个Promise把多个ajax包起来。然后 Promise.all([ajaxPromiseAll(), waitPromise(1s)]).then(()=> 至少执行了1s) 。。。

3、 讲得很抽象,实例为证

这个实例是这样的,微信里面有拆红包,当我们点击 開 的时候,那个字至少会完整的 翻一翻。那个完整翻一翻的时间我们假定需要1秒钟。 如果我们直接点击开的时候,立即请求ajax,等ajax完成立即拆开红包,这里的时间 有可能不足1s,那 就不能做到完整翻一翻。 如果请求大于1s,那就让它一直翻转吧,直到完成请求。所以我们为了解决这个问题,就需要用到上面的技术。

参考代码如下(Chrome最新版下测试):

/ ajax模拟A
const funcA = async () =>
 new Promise(resovel => {
  setTimeout(() => {
   console.log("done A");
   resovel("func A");
  }, 400);
 });

因为async和await使用起来比Promise爽,所以我采用了这两个语法糖来写,用setTimeout来模拟ajax请求, ajax模拟A和 ajax模拟B有顺序关系的,比如先检测这个人是否还有机会打开红包,然后再请求打开红包获得随机红包金额 。

以上是“如何使用ES6的Promise.all实现至少请求多长时间”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!

--结束END--

本文标题: 如何使用ES6的Promise.all实现至少请求多长时间

本文链接: https://lsjlt.com/news/69675.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用ES6的Promise.all实现至少请求多长时间
    这篇文章主要为大家展示了“如何使用ES6的Promise.all实现至少请求多长时间”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用ES6的Promise...
    99+
    2024-04-02
  • 怎么使用ES6的Promise.all实现至少请求多长时间
    本篇内容介绍了“怎么使用ES6的Promise.all实现至少请求多长时间”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、背景我们都知道a...
    99+
    2023-06-17
  • 如何用java实现同时进行多个请求,可以将它们并行执行,从而减少总共的请求时间。
    1.使用线程池 通过使用Java提供的线程池,可以将多个请求分配到不同的线程中并行执行。可以通过创建固定数量的线程池,然后将请求分配给线程池来实现。线程池会自动管理线程的数量和复用,从而减少了线程创建和销毁的开销,提高了程序的性能。 ...
    99+
    2023-09-09
    java
  • 如何使用AutoMapper实现GET请求
    这篇文章主要讲解了“如何使用AutoMapper实现GET请求”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用AutoMapper实现GET请求”吧!需求需求很简单:实现GET请求获取...
    99+
    2023-06-22
  • 如何使用MediatR实现POST请求
    本篇内容介绍了“如何使用MediatR实现POST请求”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需求需求很简单:如何创建新的TodoLi...
    99+
    2023-06-22
  • Spring中的Http请求如何使用restTemplete实现
    这篇文章给大家介绍Spring中的Http请求如何使用restTemplete实现,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。使用Spring的restTemplete进行Http请求public class Res...
    99+
    2023-05-31
    resttemplete spring http请求
  • 如何使用$.getJSON实现跨域ajax请求
    本篇内容主要讲解“如何使用$.getJSON实现跨域ajax请求”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用$.getJSON实现跨域ajax请求”吧...
    99+
    2024-04-02
  • javascript如何实现还有多少天多少小时多少分的倒计时效果
    这篇文章主要讲解了“javascript如何实现还有多少天多少小时多少分的倒计时效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript如何实...
    99+
    2024-04-02
  • 如何使用PHP实现同步HTTP请求并记录请求日志?
    PHP是一种流行的编程语言,它被广泛应用于Web开发领域。在Web开发中,我们通常需要使用HTTP请求与其他服务进行通信。本文将介绍如何使用PHP实现同步HTTP请求并记录请求日志,希望对你有所帮助。 一、PHP实现同步HTTP请求 在PH...
    99+
    2023-09-03
    同步 http 日志
  • 使用Axios Element如何实现全局请求loading
    这篇文章给大家分享的是有关使用Axios Element如何实现全局请求loading的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。背景业务需求是这样子的,每当发请求到后端时就触...
    99+
    2024-04-02
  • 如何使用GitLab实现分支合并请求
    随着软件开发团队的规模不断扩大,代码数量不断增加,git分支管理变得越来越重要。在多人协同开发的情况下,合并请求是管理分支的关键。本文将为读者介绍如何使用GitLab实现分支合并请求,以提高协作效率和代码质量。一、GitLab分支管理概述G...
    99+
    2023-10-22
  • PHP如何使用cURL实现Get和Post请求
    使用cURL库可以很方便地实现PHP中的GET和POST请求。GET请求:```php// 创建cURL资源$ch = curl_i...
    99+
    2023-08-15
    PHP
  • springboot如何实现异步响应请求(前端请求超时的问题解决)
    目录问题解决方案1.服务端异步处理2.设置响应时间需要避免踩到的坑1.关于dubbo中的设置2.关于tomcat的设置3.关于Nginx的设置总结问题 实际场景中会遇到请求业务处理流...
    99+
    2023-01-30
    springboot 异步响应请求 springboot异步请求处理 springboot异步接口响应
  • 如何使用Jquery实现时间轴
    这篇文章将为大家详细讲解有关如何使用Jquery实现时间轴,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、纵向折叠时间轴1、js文件(jQuery.js或者jQuery...
    99+
    2024-04-02
  • HTTP请求时,如何使用PHP实现同步性并记录日志?
    在Web开发中,我们经常需要使用HTTP请求来获取或提交数据。而在PHP中,我们可以使用cURL库来发送HTTP请求。但是,如果我们需要在一个脚本中发送多个HTTP请求,并且需要等待所有请求都完成后才能进行下一步操作,就需要使用同步性。同...
    99+
    2023-09-03
    同步 http 日志
  • SpringBoot中如何使用@RestController注解实现http请求
    本篇内容主要讲解“SpringBoot中如何使用@RestController注解实现http请求”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot中如何使用@RestContr...
    99+
    2023-06-08
  • Django 中的并发请求处理:使用 channels 实现实时通信。
    Django 是一个广受欢迎的 Python Web 框架,它为开发人员提供了一个强大的工具箱,使他们可以轻松地构建高效、可扩展的 Web 应用程序。然而,对于那些需要实现实时通信的应用程序来说,Django 的默认请求处理方式并不是最佳的...
    99+
    2023-08-09
    并发 apache django
  • 如何使用RestTemplate访问https实现SSL请求操作
    这篇文章主要介绍了如何使用RestTemplate访问https实现SSL请求操作,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、添加HttpsClientRequestF...
    99+
    2023-06-25
  • js与jQuery如何实现的兼容多浏览器Ajax请求
    这篇文章主要介绍js与jQuery如何实现的兼容多浏览器Ajax请求,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!ajax我们经常会用到的,但网上找到的大部份ajax兼容性都不强,下...
    99+
    2024-04-02
  • 如何进行Postman配置多环境请求地址的实现
    如何进行Postman配置多环境请求地址的实现,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。作用:平时用postman测试接口时,同一个接口免不了要在多个环境测试,但是每次...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作