javascript中的纯同步函数,返回错误

时间:2016-01-12 13:41:29

标签: javascript error-handling synchronous

我有一个看起来像这样的纯函数:

function foobar(str) {
   let newStr;
   // code that depends on str and forge a new string
   ...

   return newStr;
}

现在,如果str与预期不符,我想提出错误 我的错误将是一个简单的对象,如{code:'foo',msg:'bar'},我正在寻找从我的函数中返回此错误的正确方法。

我想避免异常和承诺(因为它们是异步的),理想情况下,我希望这个函数采用函数式编程风格。
任何线索?

1 个答案:

答案 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
}