gpt4 book ai didi

javascript - 如果没有错误,回调应该传递 null 还是 undefined ?

转载 作者:行者123 更新时间:2023-11-30 07:59:20 25 4
gpt4 key购买 nike

我希望这是一个简单的问题。哪个是公认的回调最佳实践?

选项 1:

function get (id, callback) {
var topic = find(id);
var err = new Error('Sorry, ' + id + ' is not a valid id.');
err.status = 404;
return (topic) ? callback(null, topic) : callback(err);
}

选项 2:

function get (id, callback) {
var topic = find(id);
var err = new Error('Sorry, ' + id + ' is not a valid id.');
err.status = 404;
return (topic) ? callback(undefined, topic) : callback(err);
}

旁注,find() 返回undefined,而不是null

提前致谢。

最佳答案

我会做 Node 内置 API 函数做的事情。

一个简单的实验告诉我:

  • open 在成功时为 err 传递 null

  • open 在失败时为数据参数传递 null


其他几点:

  1. 您的代码总是构造一个Error 对象,即使一切正常。我不会那样做,这毫无意义。

  2. 您的代码返回调用回调的结果。这很不寻常。

  3. 据我所知,您的代码正在同步 调用回调。 (例如,当调用 get 时,回调将在 get 返回之前发生。)通常,异步调用是异步的。如果您同步执行操作,例如 openSync 等,请将 Sync 放在名称上并直接返回值,而不是调用回调。

关于javascript - 如果没有错误,回调应该传递 null 还是 undefined ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32099563/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com