js中async函数结合promise的小案例浅析


Posted in Javascript onApril 14, 2019

js中async函数结合promise的小案例浅析

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
list-style: none;
}
.box{
height: 15px;
margin-top: 20px;
transform: translateX(-100%);
transition: all 1s linear;
}
button{
margin-top: 30px;
}
</style>
</head>
<body>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<button id="btn">点击开始</button>
<script>
const box=document.querySelectorAll(".box")
box.forEach((item,index)=>{
item.style.cssText=`width:${100+index*15}px;background:rgb(${Math.random()*255},${Math.random()*255},${Math.random()*255})`
})
    btn.onclick=async function(){
      for(let i=0;i<box.length;i++){
        await fn(box[i])
      }
    }
    function fn(el){
      return new Promise((resolve,reject)=>{
        el.style.transform=`translateX(0)`;
        el.addEventListener("transitionend",function(){
          resolve();//为什么调用这个成功函数
        })
      })
    }
  </script>
</body>
</html>
Javascript 相关文章推荐
myeclipse安装jQuery插件的方法
Mar 29 Javascript
setTimeout的延时为0时多个浏览器的区别
May 23 Javascript
javascript删除字符串最后一个字符
Jan 14 Javascript
PHP中使用微秒计算脚本执行时间例子
Nov 19 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
Mar 18 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
js带闹铃功能的倒计时代码
Sep 29 Javascript
实例详解Node.js 函数
Jun 10 Javascript
vue 中滚动条始终定位在底部的方法
Sep 03 Javascript
Vue组件之单向数据流的解决方法
Nov 10 Javascript
3分钟了解vue数据劫持的原理实现
May 01 Javascript
Js on及addEventListener原理用法区别解析
Jul 11 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
Apr 14 #Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
Apr 13 #Javascript
JS+CSS3实现的简易钟表效果示例
Apr 13 #Javascript
JS实现倒序输出的几种常用方法示例
Apr 13 #Javascript
JS实现马赛克图片效果完整示例
Apr 13 #Javascript
ES6入门教程之let、const的使用方法
Apr 13 #Javascript
ES6入门教程之变量的解构赋值详解
Apr 13 #Javascript
You might like
php创建sprite
2014/02/11 PHP
php通过字符串调用函数示例
2014/03/02 PHP
PHP类的反射用法实例
2014/11/03 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
js文字滚动停顿效果代码
2008/06/28 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
django的csrf实现过程详解
2019/07/26 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
英国女鞋购物网站:Moda in Pelle
2019/02/18 全球购物
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
某公司Java工程师面试题笔试题
2016/03/27 面试题
高级护理实习生自荐信
2013/09/28 职场文书
毕业生求职找工作的自我评价范文
2013/11/27 职场文书
优秀员工年终发言演讲稿
2014/01/01 职场文书
给校长的一封检讨书
2014/09/20 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
七一表彰大会简报
2015/07/20 职场文书
初中信息技术教学反思
2016/02/16 职场文书
解决Python字典查找报Keyerror的问题
2021/05/26 Python
Go语言应该什么情况使用指针
2021/07/25 Golang
MySQL创建定时任务
2022/01/22 MySQL
十大经典日本动漫排行榜 海贼王第三,犬夜叉仅第八
2022/03/18 日漫