2 回答

TA贡献1797条经验 获得超6个赞
返回一个新函数,该函数调用func包装在中的try..catch,并记住该函数之前是否有错误:
const a = func => {
let hasThrown = false;
return function () {
if (hasThrown) {
return null;
}
try {
return func(...arguments);
} catch (e) {
console.error(e);
hasThrown = true;
return null;
}
};
};
const a = func => {
let hasThrown = false;
return function() {
if (hasThrown) {
return null;
}
try {
return func(...arguments);
} catch (e) {
console.error(e);
hasThrown = true;
return null;
}
};
};
const getMyName = (name) => {
if (name === "jos") {
throw new Error(`${name} is wrong`);
}
return `${name} is yummy`;
};
const getName = a(getMyName);
console.log(getName("harry"));
console.log(getName("garry"));
console.log(getName("jos"));
console.log(getName("jon"));
添加回答
举报