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

查看所有标签

猜你喜欢:

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

游戏引擎架构

游戏引擎架构

[美] Jason Gregory (杰森.格雷戈瑞) / 叶劲峰 / 电子工业出版社 / 2014-1 / 128.00元

《游戏引擎架构》同时涵盖游戏引擎软件开发的理论及实践,并对多方面的题目进行探讨。本书讨论到的概念及技巧实际应用于现实中的游戏工作室,如艺电及顽皮狗。虽然书中采用的例子通常依据一些专门的技术,但是讨论范围远超于某个引擎或API。文中的参考及引用也非常有用,可让读者继续深入游戏开发过程的任何特定方向。 《游戏引擎架构》为一个大学程度的游戏编程课程而编写,但也适合软件工程师、业余爱好者、自学游戏程......一起来看看 《游戏引擎架构》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具