浅析promise
Posted 鲁小肃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅析promise相关的知识,希望对你有一定的参考价值。
Promise是一个构造函数,可以通过new 操作符获取一个promise对象,promise者,人如其名也。对,就是承诺。显示生活中,我们承诺别人一件事,一般会在将来某个时间兑现承诺。而 Promise 对象用于表示一个异步操作的最终状态(完成或失败),以及其返回的值(摘自MDN)。
1. 创建Promise
Promise
对象是由关键字 new
及其构造函数来创建的。该构造函数会?把一个叫做“处理器函数”(executor function)的函数作为它的参数。这个“处理器函数”接受两个函数——resolve
和 reject
——作为其参数。当异步任务顺利完成且返回结果值时,会调用 resolve
函数;而当异步任务失败且返回失败原因(通常是一个错误对象)时,会调用reject
函数。
2.状态
一个 Promise
有以下几种状态:
- pending: 初始状态,既不是成功,也不是失败状态。
- fulfilled: 意味着操作成功完成。
- rejected: 意味着操作失败。
3.栗子
我们来模拟一次考试,考试的结果我们不知道,但是在有结果后我们保证会做出通知(异步),如果及格执行resolve回调,不及格执行reject回调。以下是简单实现。
new Promise(function(resolve,reject){ var score = Math.floor(Math.random()*100); if(score>60){ resolve(score) } else{ reject(score) } }).then(score=>console.log(‘及格了,欧耶‘,score)).catch(score=>console.log(‘挂科了,继续努力‘,score))
以上是关于浅析promise的主要内容,如果未能解决你的问题,请参考以下文章