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 相关文章推荐
jQuery生成asp.net服务器控件的代码
Feb 04 Javascript
javascript中onclick(this)用法介绍
Apr 19 Javascript
js获取指定的cookie的具体实现
Feb 20 Javascript
js判断一个字符串是否包含一个子串的方法
Jan 26 Javascript
JQuery限制复选框checkbox可选中个数的方法
Apr 20 Javascript
JavaScript的Date()方法使用详解
Jun 09 Javascript
使用electron制作满屏心特效的示例代码
Nov 27 Javascript
详解vue引入子组件方法
Feb 12 Javascript
node.js中express模块创建服务器和http模块客户端发请求
Mar 06 Javascript
bootstrap table列和表头对不齐的解决方法
Jul 19 Javascript
解决vue cli使用typescript后打包巨慢的问题
Sep 30 Javascript
javascript实现贪吃蛇游戏(娱乐版)
Aug 17 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
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
jQuery实现的类flash菜单效果代码
2010/05/17 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
jQuery Masonry瀑布流插件使用方法详解
2017/01/18 Javascript
Angularjs 动态添加指令并绑定事件的方法
2017/04/13 Javascript
Vue 父子组件数据传递的四种方式( inheritAttrs + $attrs + $listeners)
2018/05/04 Javascript
angularjs结合html5实现拖拽功能
2018/06/25 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
微信小程序HTTP接口请求封装代码实例
2019/09/05 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
Python字符串切片操作知识详解
2016/03/28 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
如何实现一个python函数装饰器(Decorator)
2020/10/12 Python
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
俄罗斯隐形眼镜和眼镜在线商店:Cronos
2020/06/02 全球购物
一套带网友答案的.NET笔试题
2016/12/06 面试题
Ejb技术面试题
2015/04/29 面试题
幼儿园优秀教师事迹
2014/02/13 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
食堂卫生管理制度
2015/08/04 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang