js中promise的使用与理解
Promise 是一种使用广泛的异步编程解决方案,它可以让你处理回调的复杂性,减少代码的阅读难度,最重要的是可以保证回调的顺序执行
ajax实例里面的函数
一、什么是promise
Promise 是 ES2015 推出的一个新的概念,它可以让异步操作以同步的方式来编写,它的核心是一个代理对象,它保存着一个异步任务的状态,可以取消,等待结果,轮询状态等等。
二、promise的优点
1、 避免回调地狱:使用promise可以把回调函数一层层嵌套,变成代码块。这样就减少了代码的嵌套深度,简化了代码的阅读,有利于异步编程思维的形成,是最大的优点。
2、 代码的可读性:promise使得异步编程的代码更紧凑,也更有可读性,更加容易排错和查问题。
3、 代码的弹性性:promise 支持多个回调函数,在状态改变时可以触发多个回调函数,让异
步编程更加自由。
三、如何使用promise
1、 实例化promise  用 new 关键字来实例化promise,构造函数接受一个函数,这个函数需要2个参数: resolve、reject,可以在函数中写逻辑判断,来决定promise成功还是失败,并且在实例化的时候只能使用一次 resolve 或 reject。
2、 then 方法  then 方法接收2个参数:onResolved onRejected,他们都是一个函数,分别是Promise成功时和失败时各自执行的回调函数,也可以接受一个参数来进行传参
3、 catch 方法  catch 方法接收一个函数作为参数,这个函数是Promise 失败时执行的回调函数,一般用来捕获异常,可以接受一个参数来进行传参
4、 all方法  all 方法接受一个promise实例组成的数组作为参数,所有promise实例都执行resolve了,all方法才会返回。
5、 race 方法  race 方法接受一个promise实例组成的数组作为参数,只要有一个promise实例执行resolve了,race方法就会返回。
四、promise的应用
Promise 广泛应用于异步编程领域,它可以很容易地实现类似于jQuery的 Ajax 请求,可以让它们变为异步的,最大的特点就是处理多个异步任务,可以很容易地管理多个嵌套的任务,而不必去到处追踪异步任务的状态和结果,大大提高了开发效率。还有 Promise 可以把同一个任务,在多个地方使用,可以实现代码复用,这样也有利于维护和多人协同开发。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。