使用promise实现延迟与回调。以及为什么使用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('再过两秒后输出'));
posted @   风意不止  阅读(290)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
历史上的今天:
2021-01-22 表单提交post提交后,出现数组被截断情况的解决方法
2021-01-22 fastadmin的权限问题以及解决方法
2021-01-22 推荐一本运维书籍----多网站管理利器:BT面板部署和使用指南
2021-01-22 2021-01-22,tp5 生产缩略图
点击右上角即可分享
微信分享提示