Javascript 返回真/假调用结果的更好方法

Javascript 返回真/假调用结果的更好方法,javascript,language-agnostic,function,conditional,Javascript,Language Agnostic,Function,Conditional,很多时候,我正在编写一个函数,它在成功时返回true,在错误/失败时返回false,并且基本上包装了另一个函数,它也会这样做 一个示例(基本上与语言无关,但为了熟悉起见,我将使用ECMAScript编写): 但是,有时,我想根据内部函数的结果(比如日志特定信息)执行其他操作: 但是,当我做这样的事情时,我从来没有觉得我写了好的代码 你会用不同的方式写吗?我是偏执狂吗?或者你认为这种模式本身会导致这种困境吗?我应该看看是否可以改变更高层次的方法?不知道你为什么担心它,但另一个选择是: var re

很多时候,我正在编写一个函数,它在成功时返回
true
,在错误/失败时返回
false
,并且基本上包装了另一个函数,它也会这样做

一个示例(基本上与语言无关,但为了熟悉起见,我将使用ECMAScript编写):

但是,有时,我想根据内部函数的结果(比如日志特定信息)执行其他操作:

但是,当我做这样的事情时,我从来没有觉得我写了好的代码


你会用不同的方式写吗?我是偏执狂吗?或者你认为这种模式本身会导致这种困境吗?我应该看看是否可以改变更高层次的方法?

不知道你为什么担心它,但另一个选择是:

var ret = eml.Send();
if (!ret)
  Log("Error in send: " + eml.Response);
return ret;

如果语言支持它(JavaScript支持),您也可以考虑

function SendEmail(to, from, subject, body) {
 var eml = new EmailObj();
 eml.To = to;
 eml.From = from;
 eml.Subject = subject;
 eml.Body = body;
 if(!eml.Send()) {
  Log("Error in send: " + eml.Response);
  return false;
 }

 return true;
}
var ret = eml.Send();
if (!ret)
  Log("Error in send: " + eml.Response);
return ret;