javascript回调中错误参数的正确位置是什么?

前端之家收集整理的这篇文章主要介绍了javascript回调中错误参数的正确位置是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个需要回调的 javascript函数.如果出现问题,回调将传递一个错误参数.

什么是最好/最标准的呼叫约定?

>回调的错误参数应该是第一个还是最后一个?
>我应该传递’errorMsg’字符串,还是新的Error(‘errorMsg’)对象?

即,更正确的是 – 这段代码

foo = function(bar,callback) {
  ...
  if (error) {
    callback('troz not found');
  } else {
    callback(null,result);
  }
}

或者这段代码

foo = function(bar,callback) {
  ...
  if (error) {
    callback(null,'troz not found');
  } else {
    callback(result);
  }
}

或这个:

foo = function(bar,new Error('troz not found'));
  } else {
    callback(result);
  }
}

如果相关,我的代码将用作NodeJS模块和基于浏览器的javascript库.

解决方法

你应该为你的图书馆选择一个约定并坚持下去;否则,它是任意的. JavaScript中有许多不同的处理错误方法

>同时采取“成功”和“错误”回调.
>采取单一回调来处理“成功”和“错误”案件.
>具有默认“错误”处理程序的注册机制,使错误处理程序在所有其他调用上可选,使用适当的立即或回退错误回调.

结合:

>不使用参数来进行错误回调.
>使用布尔值表示成功/失败.
>使用字符串来封装错误的性质.
>使用一些更复杂的“Result”对象来封装成功/失败和结果.
>使用一些复杂的对象来封装详细的故障信息.

真的,这完全取决于你.这也取决于你想要做什么.例如,如果您不打算对故障信息做任何事情,那么构建/传递额外信息可能不值得花费.但是,您可能希望将大量详细的故障信息传递给用户或返回API调用者,在这种情况下,它很有意义.

选择一个约定,坚持下去.除此之外,这完全取决于你.

猜你在找的JavaScript相关文章