美文网首页
promise学习

promise学习

作者: 田野的海螺 | 来源:发表于2018-07-19 17:49 被阅读0次

Promise定义

Promise是异步编程的一种解决方案,它有三种状态,分别是pending-进行中resolved-已完成rejected-已失败

当Promise的状态又pending转变为resolved或rejected时,会执行相应的方法,并且状态一旦改变,就无法再次改变状

bpm中使用方法:

最后return deferred.promise;

注涉及AngularJS中异步操作与$q.defer():

var deferred = $q.defer();\\生成deferred异步对象

deferred.resolve(rtns);\\执行到这里时,改变deferred状态为执行成功,返回rtns为从后台取到的数据,可以继续执行then,done

deferred.reject(data);\\执行到这里时,改变deferred状态为执行失败,返回data为报错,可以继续执行fail

return deferred.promise;\\起到保护作用,不允许函数外部改变函数内的deferred状态


bpm中ajax中调用,obj.then(function1(){},function2(){}),(注:obj以封装阿加西请求的对象了,参数1,处理ajax请求成功的处理会返回 deferred.resolve(res)数据处理;失败则会执行 deferred.reject('请求超时');)

注:

Promise.prototype.then() VS Promise.prototype.catch()

1..then()方法使Promise原型链上的方法,它包含两个参数方法,分别是已成功resolved的回调和已失败rejected的回调

2..catch()的作用是捕获Promise的错误,与then()的rejected回调作用几乎一致。但是由于Promise的抛错具有冒泡性质,能够不断传递,这样就能够在下一个catch()中统一处理这些错误。同时catch()也能够捕获then()中抛出的错误,所以建议不要使用then()的rejected回调,而是统一使用catch()来处理错误

Promise.done() / Promise. finally()

3.Promise.done() 的用法类似 .then() ,可以提供resolved和rejected方法,也可以不提供任何参数,它的主要作用是在回调链的尾端捕捉前面没有被 .catch() 捕捉到的错误

4.Promise. finally() 接受一个方法作为参数,这个方法不管promise最终的状态是怎样,都一定会被执行

bpm使用promise

相关文章

  • ES6异步:Promise

    #Promise迷你书通过 ES6 Promise 和 jQuery Deferred 的异同学习 Promise

  • Node 学习(二)

    Promise学习 Promise含义 容器,保存异步操作的结果对象,获取异步操作的消息 Promise对象特点 ...

  • Promise笔记

    Promise学习(上): 资料: JavaScript Promise迷你书 原著:azu / 翻译:liubi...

  • ES9(二) —— Promise.finally

    目录 Promise是如何“兜底”操作的? 想了解全部的Promise? ES6-ES10学习版图 Promise...

  • EventLoop事件循环中的 MacroTask与 Micro

    问题来源 在学习Promise时在stackoverflow上看到一个解释Promise运行顺序回答。之前在学习异...

  • Promise

    es6中有个特别的对象Promise,今天我们就来学习它,了解它。 Promise含义 Promise 是异步编程...

  • 实现一个Promise

    实现一个Promise,来学习一下Promise的源码思想。Promise有三种状态,分别是pending,ful...

  • promise学习

    Promise定义 Promise是异步编程的一种解决方案,它有三种状态,分别是pending-进行中、resol...

  • 学习promise

    概念学习 Promise 对象用于延迟(deferred) 计算和异步(asynchronous ) 计算.。一个...

  • promise学习

    首先,我们来看一个常见的例子 我们打开控制台,会看到首先输出的是undefined,然后过了一秒钟输出’开始摇‘,...

网友评论

      本文标题:promise学习

      本文链接:https://www.haomeiwen.com/subject/hbptmftx.html