我有一个看起来像这样的纯函数:
function foobar(str) {
let newStr;
// code that depends on str and forge a new string
...
return newStr;
}
现在,如果str
与预期不符,我想提出错误
我的错误将是一个简单的对象,如{code:'foo',msg:'bar'},我正在寻找从我的函数中返回此错误的正确方法。
我想避免异常和承诺(因为它们是异步的),理想情况下,我希望这个函数采用函数式编程风格。
任何线索?
答案 0 :(得分:3)
如果您需要避免异步和典型的错误处理,则需要您的函数返回一个对象而不仅仅是一个字符串。该对象可以具有属性
var returnObject = {
error: false,
value: "the string",
errorValue: "OK"
};
然后每次调用该函数时,首先需要检查returnObject.error的条件:
var getStringObj = foobar("string input");
if ( getStringObj.error ) {
// probably display getStringObj.errorValue
} else {
//normal handling
}