javascript - 在下面的 JavaScript 情况下,如何避免重复自己的情况?

标签 javascript dry

在下面的场景中,我有一个 bool 值。根据结果​​,我调用完全相同的函数,唯一的区别是参数的数量。

var myBoolean = ...

if (myBoolean) {
    retrieveData(param1, function(err, result) {
        if (err) throw err;
        // process
    });
}
else {
    retrieveData(param1, param2, function(err, result) {
        if (err) throw err;
        // process
    });
}

目前感觉我在不必要地重复很多代码。有没有办法巩固这一点,这样我就不会重复同样的事情?

最佳答案

如果情况这么简单,那么只需将重复的函数保存在变量中即可:

var myBoolean = ...
var callback = function(err, result) {
    if (err) throw err;
    // process
}
if (myBoolean) {
    retrieveData(param1, callback);
}
else {
    retrieveData(param1, param2, callback);
}

关于javascript - 在下面的 JavaScript 情况下,如何避免重复自己的情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11306326/

相关文章:

javascript - 如何仅提取下面示例代码中的数字 1780

javascript - 在 ios 中从 Webview 更改字体

javascript - 脚本在 JSfiddle 中工作正常,但在现场却不行

javascript - 如何在同时使用 Javascript 和 ERB 模板时保持 DRY (Rails)

python - 用 DRY 解决方案替换多个条件

php - CodeIgniter:多个应用程序,如何共享资源?

javascript - Coffeescript——如何干掉这两条语句

javascript - 如何获取以逗号分隔的选定复选框 ID,其值为 1

javascript - 将部分添加到包含部分的循环中的第一个和最后一个

database-design - 软件设计 : DRY, 单一事实来源和数据验证