Promise对象

1、含义
Promise是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更加合理,解决了回调地狱的的问题(promise已经写进ES6语言标准中,js原生提供了Promise对象)
2、对象状态不受外界影响,只要状态改变就不会再次改变,共有三种状态(pending--进行中,fulfilled--已成功,rejected--已失败),
状态只会pending--fulfilled或者pending--rejected其中的一种,状态一旦变化,不会更改
3、promise的缺点
promise一旦新建就会立即执行,无法中途取消,第二如不设置回调函数,Promise内部抛出的错误,不会反应到外部,当处于pending状态时,无法得知目前进展到哪一阶段。
2、基本用法
a、Promise对象其实是一个构造函数,用来生成Promise实例

// new Promise 实例
function timeout(time){
  return new Promise((resolve, reject)=>{
    setTimeout(resolve, time, "over");
  })   
  
}
timeout(1000).then((value)=>{
  console.log(value);
});
// 注意:setTimeout(function, time, param1, param2...)的参数,1、(function)延时执行的操作(function)。
// 2、延时的时间(time)。
// 3、param1、param2...这是function的参数,但是在timeout函数中的setTimeout中resovle只返回第一个param1 

来源自http://es6.ruanyifeng.com/#docs/promise#Promise-try

你可能感兴趣的:(Promise对象)