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

标签 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' },我正在寻找从我的函数返回此错误的正确方法。

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

最佳答案

如果您需要避免异步和典型的错误处理,则需要您的函数返回一个对象而不仅仅是一个字符串。对象可以有属性

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
}

关于javascript - javascript 中返回错误的纯同步函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34745291/

相关文章:

c# - 创建 float 时出现意外符号 'public'

vba - VLOOKUP适用于不同的工作表

ios - HEADER 请求 allHeaderFields 不工作

javascript - ×类型错误: Cannot read property 'borders' of undefined

javascript - VIM:清理 onclick 事件

javascript - 如何在 Angularjs 1.4.10 指令结构中使用 $apply 和 $watch 这样的?

javascript - 如何在 Javascript 中编写阻塞同步方法?

javascript - 使用 AngularJS,我不想设置全局 $http.defaults.headers.common。我可以在每次调用 $resource 时发送我的自定义 header 吗?

node.js - View中的node.js express.js错误处理

node.js - 如何使用带有 promise 的异步等待来获取结果?