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

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

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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Linux程序设计

Linux程序设计

Neil Matthew、Richard Stones / 陈健、宋健建 / 人民邮电出版社 / 201005 / 99.00元

时至今日,Linux系统已经从一个个人作品发展为可以用于各种关键任务的成熟、高效和稳定的操作系统,因为具备跨平台、开源、支持众多应用软件和网络协议等优点,它得到了各大主流软硬件厂商的支持,也成为广大程序设计人员理想的开发平台。 本书是Linux程序设计领域的经典名著,以简单易懂、内容全面和示例丰富而受到广泛好评。中文版前两版出版后,在国内的Linux爱好者和程序员中也引起了强烈反响,这一热潮......一起来看看 《Linux程序设计》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

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

HSV CMYK互换工具