我感兴趣的是处理异步JavaScript函数错误的最佳实践。我在下面给出了两个例子,一个用于处理INSERT INTO [report_agent_Events]
(
[Agent_Name]
, [time_started]
, [time_ended]
, [duration]
, [clientStatus]
, [agentStatus]
, [Call_ID]
, [Reference_ID]
)
SELECT [Agent_Name]
, [time_started]
, GETDATE()
, DATEDIFF(SECOND, [time_started], GETDATE())
, [clientStatus]
, [agentStatus]
, raw_call_ucid
, [Reference_ID]
FROM DELETED d
join
(
select top 1 ID as CallID
from report_ExtensionCalls ec
where ec.UCID = d.raw_call_ucid
order by [time_finished] DESC
) e on e.CallID = d.raw_call_ucid
中的错误,另一个用于处理if statement
中的成功。以前我总是处理if statement
中的错误,但想知道这是否是最好的方法。请告诉我您认为哪种方法最好?为什么?
if statement
或
function(err, res){
if(err){
// handle error
return;
}
// code to handle response
}
提前致谢
答案 0 :(得分:0)
根据应用程序的数据流和部分(即API和/或路径),您可以选择将错误传递给下一个中间件。您可以返回来自其他中间件的数据,并返回在请求期间可能已经冒出的错误。这取决于您是否需要程序停止执行,或者它是否需要记录并继续执行的小错误。正如评论中所述,两者都被平等接受。
答案 1 :(得分:-1)
最佳做法是使用ES6 babel
来async / await
和ES7 Promises
,而不是回调。
否则第一个选项是更常见的IMO。