首页 > 其他分享 >使用promise实现延迟与回调。以及为什么使用promise实现延迟

使用promise实现延迟与回调。以及为什么使用promise实现延迟

时间:2024-01-22 20:02:55浏览次数:38  
标签:resolve console log 实现 delay seconds promise 延迟

简单延迟几秒

function delay(seconds) {  
  return new Promise(resolve => setTimeout(resolve, seconds * 1000));  
}  
  
// 使用这个函数来延迟1秒  
delay(1).then(() => {  
  console.log('1秒已经过去了!');  
});

简化版

function delay(seconds) {  
  return new Promise(r => setTimeout(r, seconds * 1000));  
}  
  
// 使用这个函数来延迟1秒  
delay(1).then(() => {  
  console.log('1秒已经过去了!');  
});

延迟和回调函数

function delay(seconds,cb) {
return new Promise(resolve => setTimeout(resolve, seconds * 1000));
}

// 使用这个函数来延迟1秒
delay(1).then(() => {
console.log('1秒已经过去了!');
});


### 为什么使用,主要是调用很方便

const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

delay(1000)
.then(() => console.log('一秒钟后输出'))
.then(() => delay(2000))
.then(() => console.log('再过两秒后输出'));

标签:resolve,console,log,实现,delay,seconds,promise,延迟
From: https://www.cnblogs.com/cn-oldboy/p/17980852

相关文章

  • Spring Cloud 系列:Seata 中TCC模式具体实现
    概述https://seata.io/zh-cn/docs/dev/mode/tcc-modehttps://seata.io/zh-cn/docs/user/mode/tccTCC模式与AT模式非常相似,每阶段都是独立事务,不同的是TCC通过人工编码来实现数据恢复。需要实现三个方法:Try:资源的检测和预留;Confirm:完成资源操作业务;要求Try成功Confirm一......
  • Java21 + SpringBoot3集成easy-captcha实现验证码显示和登录校验
    目录前言相关技术简介easy-captcha实现步骤引入maven依赖定义实体类定义登录服务类定义登录控制器前端登录页面实现测试和验证总结附录使用Session缓存验证码前端登录页面实现代码前言近日心血来潮想做一个开源项目,目标是做一款可以适配多端、功能完备的模板工程,包含后台管理系......
  • 怎样才能实现私域流量的增长?
    为了优化私域流量增长,以下策略可能有效:1.价值吸引,而非仅仅是免费:采用免费策略吸引用户是常见做法,但关键在于通过高价值或服务提升用户体验,确保用户在“获取”免费产品过程中感受到真正的价值。精心策划价值传递,建立用户期望,确保用户体验后能够自发传播正面口碑,为产品或服务提供良......
  • VUE框架CLI组件化配置Router路由局部守卫path和componet和router完整项目实现------VU
    <template><div><!--组件分为普通组件和路由组件--><divclass="s2"><h2>县区</h2><ul><!--query形式接收--><!--<li>{{$route.......
  • 17、基于SLF4J中打印日志的方法,实现字符串中{}快速替换需要的内容
    转载自一、String工具类:publicclassStringUtils{privatestaticfinalcharDELIM_START='{';privatestaticfinalStringDELIM_STR="{}";privatestaticfinalcharESCAPE_CHAR='\\';/***基于slf4j中打印日志的......
  • SQL Server 2012 AlwaysON 同步延迟时间
     SELECTavailability_mode_desc,role_desc,replica_server_name,last_redone_time,GETDATE()now,DATEDIFF(ms,last_redone_time,GETDATE())diffMSFROM((sys.availability_groupsASagJOINsys.......
  • 复杂JSON数据的扁平化解析_Java实现
    在工作中遇到了解析JSON数据的场景,但是此岗位传统的做法是通过Python脚本来实现的,而且是非常不合理的手动解析——每对应不同的JSON数据结构,都需要手动改动很多脚本文件,工作量与JSON数据结构的复杂程度成正比!(很难想象这是一个做开发的人想出来的方案)因此最开始接触此工作内容的时......
  • 遍历二叉树非递归实现
    实现1.前序遍历publicvoidpreOrderNor(TreeNoderoot){if(root==null){return;}Stack<TreeNode>stack=newStack<>();stack.push(root);while(!stack.isEmpty()){TreeNodecur......
  • 请求函数封装promise请求函数
    借鉴aioxs请求函数-》返回promise对象请求分为:成功 失败 进行完一系列操作后在微信开发者平台测试的时候,如果有数据更新一定要重新编译刷新一下,代码:/*请求函数@paramUniApp.Requestoptions@returnsPromise1.返回Promise对象2.请求成功2.1提取核心数据res.data......
  • Java开发者的Golang进修指南:从0->1带你实现协程池
    在Java编程中,为了降低开销和优化程序的效率,我们常常使用线程池来管理线程的创建和销毁,并尽量复用已创建的对象。这样做不仅可以提高程序的运行效率,还能减少垃圾回收器对对象的回收次数。在Golang中,我们知道协程(goroutine)由于其体积小且效率高,在高并发场景中扮演着重要的角色。然......