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 相关文章推荐
function, new function, new Function之间的区别
Mar 08 Javascript
JavaScript学习点滴 call、apply的区别
Oct 22 Javascript
js中top/parent/frame概述及案例应用
Feb 06 Javascript
jquery 滚动条事件简单实例
Jul 12 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
Jan 06 Javascript
javascript实现数字验证码的简单实例
Feb 10 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
Jun 05 Javascript
浅谈jquery中delegate()与live()
Jun 22 Javascript
WEB 前端开发中防治重复提交的实现方法
Oct 26 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
Aug 12 Javascript
微信小程序利用云函数获取手机号码
Dec 17 Javascript
JavaScript 声明私有变量的两种方式
Feb 05 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图片上传程序
2008/03/27 PHP
PHP时间戳使用实例代码
2008/06/07 PHP
PHP ajax 异步执行不等待执行结果的处理方法
2015/05/27 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
json数据的列循环示例
2013/09/06 Javascript
浅析hasOwnProperty方法的应用
2013/11/20 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
jquery实现的代替传统checkbox样式插件
2015/06/19 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
精彩的Bootstrap案例分享 重点在注释!(选项卡、栅格布局)
2016/07/01 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
利用jquery实现实时更新歌词的方法
2017/01/06 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
介绍Python中的文档测试模块
2015/04/28 Python
python实现可将字符转换成大写的tcp服务器实例
2015/04/29 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
Python 单元测试(unittest)的使用小结
2018/11/14 Python
pandas 中对特征进行硬编码和onehot编码的实现
2019/12/20 Python
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
八项规定整改措施
2014/02/12 职场文书
实践单位评语
2014/04/26 职场文书
2014业务员年终工作总结
2014/12/09 职场文书
教师个人事迹材料
2014/12/17 职场文书
学校通报表扬范文
2015/05/04 职场文书
晚会开场白和结束语
2015/05/29 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
Nginx配置SSL证书出错解决方案
2021/03/31 Servers
彻底卸载VMware虚拟机的超详细步骤记录
2022/07/15 Servers