假设我有一个这样的用户列表:
var usersList = [
{ firstName : 'Adam', lastName: 'Yousif', age: 23 },
{ firstName : 'Mohamed', lastName: 'Ali' },
{ firstName : 'Mona', lastName: 'Ahmed', age: 19 },
];
现在我想在 usersList 上调用 map 函数并返回一个修改后的列表,如下所示:
var returnList = usersList.map((_user) => {
var _age;
try {
_age = _user.age;
} catch (error) {
console.log('I caught error here : ', error); // <-- not printed
_age = 'FAILSAFE-VAULE'; // <-- not set
}
var obj = {
firstName: _user.firstName,
lastName: _user.lastName,
age: _age
}
return obj;
});
我在 map 函数中有一个 try-catch block ,目的是用
'FAILSAFE-VALUE'
替换第二个用户的未定义属性“age”。 .但它不能正常工作。console.log(returnList);
// prints
// [
// { firstName: 'Adam', lastName: 'Yousif', age: 23 },
// { firstName: 'Mohamed', lastName: 'Ali', age: undefined }, <-- not what I want
// { firstName: 'Mona', lastName: 'Ahmed', age: 19 }
// ]
如何在 javascript map 函数中捕获错误?
谢谢
最佳答案
您不需要为此 try catch :
usersList.map((_user) => {
return {
firstName: _user.firstName,
lastName: _user.lastName,
age: _user.age || 'FAILSAFE-VAULE'
};
});
关于Javascript无法在 map 函数中捕获错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60523070/