码迷,mamicode.com
首页 > 其他好文 > 详细

es6 promise then对异常处理的方法

时间:2020-03-27 00:33:13      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:cat   promise   eject   失败   function   解释   The   es6   fail   

  1. then()里有两个回调函数,第一个是成功后(resolve返回)的回调function(data) {}, 另一个是失败后(reject返回)的回调function(err) {},异常发生时可以放在第二个回调里面处理。

  2. 也可以在then后面加.catch,在这里面进行异常处理

建议用2

function test(flag) {
return new Promise((resolve, reject) => {
if (flag == 1) {
resolve("success");
} else {
reject("fail");
}

})

}

function test2 () {
return new Promise((resolve, reject) => {
test(2).then((data) => {
console.log(data);
resolve(data);
}, (err) => {
console.log(err);
reject(err);
});
})

}

//错误写法
//function test2 () {
// return new Promise((resolve, reject) => {
// test(2).then((data, err) => {
// (data) => {
// console.log(data);
// resolve(data);
// }, (err) => {
// console.log(err);
// reject(err);
// }
// });
// });
//}

// 建议的写法
function test3 () {
return new Promise((resolve, reject) => {
test(2).then((data) => {
console.log(data);
resolve(data);
}).catch((err) => {
console.log(err);
reject(err);
});
});

}

test2().then((data) => {
console.log(data);
})

test3().then((data) => {
console.log(data);
})
阮一峰老师的es6教程里也有如下解释:

es6 promise then对异常处理的方法

标签:cat   promise   eject   失败   function   解释   The   es6   fail   

原文地址:https://www.cnblogs.com/dillonmei/p/12578621.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!