ES6 promise
promise是一个构造函数 自己身上有all reject resolve 这几个眼熟的方法 原型上有then catch等同样很眼熟的方法
new一个
var p=new promise(function(resolve,reject){ setTimeout(function(){ console.log('执行完成'); resolve('随便什么数据'); }, 2000); })
promise的构造函数接受一个参数,是函数,并且传入两人参数resolve, reject 异步操作执行成功后和异步操作执行失败后的回调函数,resolve是将Promise的状态置为fullfiled,reject是将Promise的状态置为rejected。
上面代码执行一个异步操作,setTimeout 2秒后,输出“执行完成”并且调用resolve方法
代码运行2s输出执行完成 注意我们只是new一个对象,并没有调用它,我们传进去的函数就已经执行了,这是需要注意的细节 所以我们promise时候一般包在一个函数中,在需要的时候进行这个函数
function runAsync(){ var p = new Promise(function(resolve, reject){ //做一些异步操作 setTimeout(function(){ console.log('执行完成'); resolve('随便什么数据'); }, 2000); }); return p; } runAsync()
https://www.cnblogs.com/whybxy/p/7645578.html