Promise 练手题 执行成功

代码

var myPromise = new Promise(function (resolve, reject) {
  console.log('do sth.');
  setTimeout(() => {
    console.log('~~~~~');
    resolve('ok');
    // reject('error');
  }, 3000); // 延时3秒执行一次结束
});

let pro1 = myPromise.then(value => {
  /*如果成功则显示结果*/
  console.log(1, 'successful');
  return 1111;
}, reason => {
  /*如果失败则显示原因*/
  console.log(2, 'failed');
  return 2222;
});
let pro2 = myPromise.catch(reason => {
  console.log(3, reason);
});
// 开始链式调用
pro2.then(value => console.log(4, value),
// value是什么?
reason => console.log(5, reason) // reason是什么?
).then(value => {
  console.log(6, value); // 已经不是pro2对象了,value是什么
  return Promise.reject('pro2 => new Promise object rejected');
}).catch(reason => {
  console.log(7, reason);
  return Promise.resolve(reason + ' *');
}).then(value => console.log(8, value),
// value是什么?
reason => console.log(9, reason) // reason是什么?
); // 返回的是什么?

结果

root@ubuntu:~/workspace/es6/babel# node dist/index.js 
Debugger attached.
do sth.
~~~~~
1 successful
4 ok
6 undefined
7 pro2 => new Promise object rejected
8 pro2 => new Promise object rejected *
Waiting for the debugger to disconnect...
posted @   flytoyou  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示