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 相关文章推荐
QQ登录简单实现代码
Mar 09 Javascript
Javascript Jquery 遍历Json的实现代码
Mar 31 Javascript
JavaScript中的Math 使用介绍
Apr 21 Javascript
JavaScript通过prototype给对象定义属性用法实例
Mar 23 Javascript
javascript定义类和类的实现实例详解
Dec 01 Javascript
深入理解JS实现快速排序和去重
Oct 17 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
Nov 16 Javascript
详解angular ui-grid之过滤器设置
Jun 07 Javascript
搭建element-ui的Vue前端工程操作实例
Feb 23 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
Mar 08 Javascript
js控制随机数生成概率代码实例
Mar 21 Javascript
js判断在哪个浏览器打开项目的方法
Jan 21 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错误和异常处理功能模块示例
2016/11/12 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
2012/07/31 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
javascript实现可键盘控制的抽奖系统
2016/03/10 Javascript
微信小程序 toast 详解及实例代码
2016/11/09 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
2019/04/29 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
javascript关于“时间”的一次探索
2019/07/24 Javascript
Javascript Dom元素获取和添加详解
2019/09/24 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
VUE动态生成word的实现
2020/07/26 Javascript
python实现的防DDoS脚本
2011/02/08 Python
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
python实现简单的单变量线性回归方法
2018/11/08 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
Python项目打包成二进制的方法
2020/12/30 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
HTML5等待加载动画效果
2017/07/27 HTML / CSS
基于HTML5+Webkit实现树叶飘落动画
2017/12/28 HTML / CSS
使用placeholder属性设置input文本框的提示信息
2020/02/19 HTML / CSS
卫校护理专业毕业生求职信
2013/11/26 职场文书
开学典礼感言
2014/02/16 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
个人优缺点总结
2015/02/28 职场文书
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL