异步操作 Promise,then/catch,async/await

栏目: JavaScript · 发布时间: 4年前

ajax

异步操作的原理:执行到需要的异步操作,会开始执行异步操作,不等执行完直接开始执行操作后面的语句,等语句执行完全再去看异步操作是否执行完成,完成就返回完成,没有就继续执行异步。

  • 常用的异步请求操作

const promise = new Promise(function(resolve, reject) {
  // ... 请求代码

  if (/* 异步操作成功 */){
    resolve(value);
  } else {
    reject(error);
  }
});
复制代码
  • then/catch

thenPromise 执行成功的语句

promise.then(function(res){});
复制代码

catchPromise 执行失败的语句

promise.catch(function(err){});
复制代码

常规用法

promise.then(function(res){
    
}).catch(function(err){
    
});
复制代码

then 滥用的话也是很恶心的,不断的then下去。所以出了一个终极解决方案。

  • async/await

async/awaitthen/catch 的完美版。作用与 then/catch 相同,只是用法上的区别。

每遇到一个 await 都会先返回,再往下执行。变成了同步操作!

async f1(){
 const res = await promise;
}
复制代码

可以使用 try/catch 监听 Promise 返回状态, try 为成功, catch 失败

async f1() {
 try{
   const res = await promise;
  }catch(err){
   console.log(err)
  }
}
复制代码

以上所述就是小编给大家介绍的《异步操作 Promise,then/catch,async/await》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ACM程序设计

ACM程序设计

曾棕根 / 北京大学 / 2011-4 / 34.00元

《ACM程序设计(第2版)》详细讲解了ACM国际大学生程序设计竞赛(ACM/ICPC)编程、调试方法,以及提高时间、空间性能的策略,并充分利用了C++泛型编程的高效率、规范化的特性,全部采用C++泛型编程。第1章讲解了ACM程序设计入门知识;第2章讲解了C++泛型编程的容器、迭代器和常用算法;第3章讲解了ACM程序设计的基本编程技巧;第4章讲解了50道原版ACM竞赛题的解题思路,并配有C++泛型编......一起来看看 《ACM程序设计》 这本书的介绍吧!

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具