基本使用方法

实例Promise对象

  1. const promise = new Promise(function(resolve, reject) {
  2. // ... some code
  3. if (/* 异步操作成功 */){
  4. resolve(value);
  5. } else {
  6. reject(error);
  7. }
  8. });

使用Promise对象

  1. promise.then(function(value) {
  2. // success
  3. }, function(error) {
  4. // failure
  5. });

例子1

  1. function timeout(ms) {
  2. return new Promise((resolve, reject) => {
  3. setTimeout(resolve, ms, 'done');
  4. });
  5. }
  6. timeout(100).then((value) => {
  7. console.log(value);
  8. });

例子2

  1. // 新建一个带参数的函数
  2. var fn = function (name,age) {
  3. // 返回一个Promise对象
  4. return new Promise((resolve,reject) => {
  5. // 成功之后运行res函数,并接收fn函数的参数
  6. resolve(`姓名:${name}年龄:${age}`);
  7. // 失败之后,执行的内容
  8. reject('发送了错误')
  9. })
  10. }
  11. // Promise实例生成以后,可以用then方法分别指定resolved状态和rejected状态的回调函数。
  12. // 调用fn函数,并传入参数
  13. fn('kyle','33')
  14. .then(res => {
  15. // 接收成功的参数
  16. console.log(res)
  17. },err => {
  18. // 接收失败参数
  19. console.log(err)
  20. })