ES6箭头函数以及promise/async/await测试案例
ES6箭头函数的运用
下面以一段代码解释
function one(){return 1
以上函数用箭头函数写步骤,参考下面代码
- {}和里面的东西先删去
- one = (里面写参数/无参数的里面为空)=> return
- 前面function改成let
let one = () => 1
Promise/async/await
promise的主要功能是把异步变成同步
下面以案例说明
let one = () => 1
function two(){return new Promise((resolve,reject) =>{ //new一个promise对象,对象里面的参数是一个function,里面有两个变量,一个resolve(成功时执行),reject(拒绝时执行)setTimeout(() => { //这里用一个延时器来模拟请求反应的时间滞后resolve(2)}, 3000);})
}
let three = (a,b) => a+b;async function run(){ //async告诉run要顺序一个个执行console.log(one());console.log(await two()); //await是发送请求时让two执行成功后才能继续进行,如果请求失败那么下面的three也不会执行console.log(three(1,2));
}run() //1 2 3//这里如果没有promise的话是一个异步,打印结果会是1 3 2
Promise.all/ Promise.settle
let maths = (point) => {new Promise((reslove,reject)=>{if (point == 100){setTimeout(()=>resolve("数学考得很好"),1000)}else{reject("再接再厉")} });
}
let english =(point) =>{new Promise ((reslove,reject)=>{if (point == 100){setTimeout(()=>resolve("英语考得很好"),1000)}else{reject("英语再接再厉)};});
}
let toy = () => {return new Promise((resolve,reject)=>{resolve("买玩具去")})
}//单个执行
maths(20)
.then((reslut) => console.log(result)) //Promise必须提供了then来访问Promises代理的值
.catch((err)=>console.log(err));//多个异步时间执行
Promise.all([maths(100),english(100),toy()]) //[""数学考得很好",""英语考得很好","买玩具去"]
.then((reslut) => console.log(result))
.catch((err)=>console.log(err));
//如果有一个是reject,那么则返回最快反应的那个reject
//所有reslove才能resolvePromise.allSettled([maths(100),english(100),toy()]) //[""数学考得很好",""英语考得很好","买玩具去"]
.then((reslut) => console.log(result))
.catch((err)=>console.log(err));
//.allSettiled无脑所有打印
参考:
https://medium.com/@keshidong.dev/%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BApromise-69bcafbe4496
https://www.bilibili.com/video/BV1rK4y1J7dm
ES6箭头函数以及promise/async/await测试案例相关推荐
- Promise async/await的理解和用法
Promise && async/await的理解和用法 为什么需要promise(承诺)这个东西 在之前我们处理异步函数都是用回调这个方法,回调嵌套的时候会发现 阅读性 和 调试 的 ...
- es6 箭头函数 rest参数 扩展运算符
Es6 箭头函数 语法: 普通函数: fn=function(){} 箭头函数: fn=()=>{} 特性: this是静态的,this始终指向函数声明时所在作用域下的this的值(使用call ...
- es6 箭头函数使用_如何使用ES6箭头功能使JavaScript易于阅读
es6 箭头函数使用 Arrow functions are the new fundamental building blocks of building modern web applicatio ...
- ES6箭头函数中的this指向
1箭头函数中的this (1)箭头函数中没有this : 这意味着 call() apply() bind() 无法修改箭头函数中的this (2)箭头函数中的this指向 :访问上一个作用域的thi ...
- es6箭头函数_【知识点】ES6箭头函数、箭头函数与普通函数的区别
作者:長安曹公子 文章出处:ES6 - 箭头函数.箭头函数与普通函数的区别 一.基本语法 ES6中允许使用箭头=>来定义箭头函数,具体语法,我们来看一个简单的例子: // 箭头函数 let fu ...
- [OHIF-Viewers]医疗数字阅片-医学影像-ES6箭头函数(=)
[OHIF-Viewers]医疗数字阅片-医学影像-ES6箭头函数(=>) https://www.liaoxuefeng.com/wiki/1022910821149312/103154957 ...
- 什么时候不该使用es6箭头函数 1
从开始接触es6到在项目中使用已经有一段时间了,es6有很多优秀的新特性,其中最有价值的特性之一就是箭头函数,他简洁的语法以及更好理解的this值都非常的吸引我.但是新事物也是有两面性的,箭头函数有他 ...
- Javascript/ES6箭头函数
Javascript/ES6箭头函数 文章目录 Javascript/ES6箭头函数 一.箭头函数是什么? 二.箭头函数与普通函数的区别 三.箭头函数的使用 1.箭头函数是匿名函数,不能作为构造函数, ...
- js callback promise async await 几种异步函数处理方式
***callback 这个是最常用的也是最简单的 ,比如在ajax网络请求中,返回请求完成返回的数据 回调函数就是把一个函数当成另一个函数的参数,可以传递函数内的局部变量,也可以异步完成一些操作, ...
最新文章
- MalformedObjectNameException: Invalid character '' in value part of property
- mysql 按重复排序_php-按日期排序并允许重复的日期时,获取MySQL中的上一个和下一个记录...
- [转]C# winForm 自定义鼠标样式的两种方法
- 百度机器翻译已经进化到什么程度?
- 返回局部变量或临时变量的地址_C++的函数不可以返回局部变量的指针
- C#的变迁史02 - C# 2.0篇
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
- 概率分布与马尔科夫链的关系讨论(上传费事)
- Struts2框架的概念及使用方法
- Egg教程_Egg.js视频教程免费分享
- 一位AI CEO的生死四十天
- uiswitch样式_可变大小、颜色边框、样式的UISwitch
- unity学习笔记-3dmax人型动画导入unity需要注意的事项
- 搜狗浏览器收藏夹误删恢复
- DEM、DTM、DSM、DOM的区别
- 金融货币学笔记(米什金)第三章 什么是货币 带原书总结
- 企业邮件服务器哪个好?常用邮箱客户端是哪个?
- 开发团队如何选型支付网关
- Node 开发一个多人对战的射击游戏(实战长文)
- 狗狗自带餐具能有多可爱
热门文章
- 增量学习BiC: Large Scale Incremental Learning
- 这款App连夜被下架!
- 浙江万里学院期末计算机网络,(浙江万里学院云计算基础课程大作业封面.doc
- 怎样P漫画脸?这三个简单方法分享给你
- EasyAdmin极简社区论坛系统源码
- JVM_06 运行时数据区3-方法区
- Python爬取全球是最大的电影数据库网站IMDb数据
- DB2 sequence 获取下一个值
- Android 判断手机设备是否是小米,华为,魅族设备
- matlab机器人工具箱 欧拉角,Matlab机器人工具箱(一)