关于,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调用,
浙公网安备 33010602011771号