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 相关文章推荐
JavaScript原型继承之基础机制分析
Aug 26 Javascript
使用javascript过滤html的字符串(注释标记法)
Jul 08 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
Oct 16 Javascript
Javascript vue.js表格分页,ajax异步加载数据
Oct 24 Javascript
纯原生js实现table表格的增删
Jan 05 Javascript
jquery获取下拉框中的循环值
Feb 08 Javascript
详解angularjs结合pagination插件实现分页功能
Feb 10 Javascript
vue实现表格数据的增删改查
Jul 10 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
Sep 19 Javascript
Vue中的transition封装组件的实现方法
Aug 13 Javascript
Vue将props值实时传递 并可修改的操作
Aug 09 Javascript
详解 TypeScript 枚举类型
Nov 02 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通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
最佳JS代码编写的14条技巧
2011/01/09 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
js精美的幻灯片画集特效代码分享
2015/08/29 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
2016/05/16 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
Vue Cli 3项目使用融云IM实现聊天功能的方法
2019/04/19 Javascript
用Vue编写抽象组件的方法
2019/05/06 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
Django web框架使用url path name详解
2019/04/29 Python
python opencv实现图像边缘检测
2019/04/29 Python
pytorch实现线性拟合方式
2020/01/15 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
详解Python IO口多路复用
2020/06/17 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
HTML5新增form控件和表单属性实例代码详解
2019/05/15 HTML / CSS
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
PHP中如何创建和修改数组
2012/05/02 面试题
如何用PHP实现邮件发送
2012/12/26 面试题
在校硕士自我鉴定
2014/01/23 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
绿化工程实施方案
2014/03/17 职场文书
简易版租房协议书范本
2014/10/13 职场文书
社区务虚会发言材料
2014/10/20 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
2015年食堂工作总结报告
2015/04/23 职场文书
找规律教学反思
2016/02/23 职场文书
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
2022/04/11 Python