标签:pen 时间 ISE promise cat dom 通过 floor log
Promise是一个构造函数,可以通过new 操作符获取一个promise对象,promise者,人如其名也。对,就是承诺。显示生活中,我们承诺别人一件事,一般会在将来某个时间兑现承诺。而 Promise 对象用于表示一个异步操作的最终状态(完成或失败),以及其返回的值(摘自MDN)。
1. 创建Promise
Promise
对象是由关键字 new
及其构造函数来创建的。该构造函数会?把一个叫做“处理器函数”(executor function)的函数作为它的参数。这个“处理器函数”接受两个函数——resolve
和 reject
——作为其参数。当异步任务顺利完成且返回结果值时,会调用 resolve
函数;而当异步任务失败且返回失败原因(通常是一个错误对象)时,会调用reject
函数。
2.状态
一个 Promise
有以下几种状态:
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))
标签:pen 时间 ISE promise cat dom 通过 floor log
原文地址:https://www.cnblogs.com/renbo/p/8975234.html