今天我们来学习在Promise中如何处理异常错误。
假设有一个getUserById
函数用来获取用户,它返回一个promise。
function getUserById(id) {
return new Promise((resolve, reject) => {
resolve({
id: id,
username: 'admin'
});
});
}
throw new Error
在返回promise之前,如果id参数不合法throw一个异常
function getUserById(id) {
if (typeof id !== 'number' || id <= 0) {
throw new Error('参数ID不合法');
}
return new Promise((resolve, reject) => {
resolve({
id: id,
username: 'admin'
});
});
}
接着,调用这个promise,设置then、catch回调
getUserById('a')
.then(user => console.log(user.username))
.catch(error &#