Promise 时es6新增的语法,主要用来对异步任务的封装,。promise存在三种状态:
1,pending。未决定,代表promise还没完成构建
2,fulfilled 履行 代表异步成功执行promise。该状态需要通过过resolve回调函数将结果通知给外界。
3,rejected 拒绝 promise异步任务执行出现错误。注意该状态需要在promise内部通过reject通知给外界。
//创建诺言对象 封装异步任务
//promise存在两个方法 时then和catch,then来定义promise内部在成功时返回的数据,catch捕获promise内部失败时返回的数据
//注意!:promise中then对应的回调返回结果会作为新的promise被后面另一个then捕获,即then可以存在多个。但是诺言在执行过程中,只要有一个未履行,在之后所有的诺言都会被终止,直接被catch捕获异常处理
// promise.then((num) => {
// console.log(num);
// return num + "你好"
// }).then((res)=>{
// console.log(res);
// }).catch((err) => {
// console.log(err);
// })
/* async 和 await
必须 成对出现,并且async必须用来修饰await所在的函数 await则用来修饰返回结果为promise对象的函数
async修饰函数,代表当前数内部存在异步执行的任务 await修饰函数,必须等待对应函数返回结果才会继续执行后面的代码。两者结核可实现异步任务同步执行的效果
注意:!async修饰的函数若有返回值,是一个新的promise对象
*/