关于,js的 Promise

-------------------01---

new Promise(function(resolve, reject){
//做一些异步操作
setTimeout(function(){
console.log('执行完成');
reject('随便什么数据');
}, 2000);
}).catch(function(){console.log('bbb');})

结果:

执行完成
bbb

-------------------02---

new Promise(function(resolve, reject){
//做一些异步操作
setTimeout(function(){
console.log('执行完成');
resolve('随便什么数据');
}, 2000);
}).then(function(){console.log('bbb');})

结果:

执行完成

Uncaught (in promise) 随便什么数据

--------------------03---

new Promise(function(resolve, reject){
//做一些异步操作
setTimeout(function(){
console.log('执行完成');
reject('随便什么数据');
}, 2000);
}).then(function(){console.log('bbb');})

结果:

执行完成

Uncaught (in promise) 随便什么数据

---------------------04---

new Promise(function(resolve, reject){
//做一些异步操作
setTimeout(function(){
console.log('执行完成');
reject('随便什么数据');
}, 2000);
});

结果:

执行完成

Uncaught (in promise) 随便什么数据

----------------------------05---

new Promise(function(resolve, reject){
//做一些异步操作
setTimeout(function(){
console.log('执行完成');
resolve('随便什么数据');
}, 2000);
});

结果:

执行完成

----------------------------

以上测试说明:

1. Promise构造里给定一个异步方法,对象会等异步执行完返回

2. Promise构造里的异步方法,可以通过,resolve,reject,表示正确运行或错误运行

3. Promise外部可以用then,catch,处理正确执行,或错误执行,当错误执行,又没有catch时,会报异常

4. 前面说的,好像不太对,应该是,调用resolve 到,才会到then调用,(then错了也会到catch), 或者用reject,到catch调用,

posted @ 2018-12-20 11:19  以函  阅读(90)  评论(0)    收藏  举报