javascript - 如果不需要执行操作,则创建延迟

标签 javascript jquery jquery-deferred

我发现自己写了很多次,我想知道这个代码块是否有快捷方式:

function doSome() {
    var deferred = null;
    if (needToLoad) {
        deferred = load();
    } else {
        deferred = $.Deferred().resolve();
    }
    return deferred.promise();
}

这是唯一的写法吗?如果没有创建延迟,是否有返回新延迟的 jQuery 快捷方式?

最佳答案

通过使用三元,该函数将简化为单行函数,尽管这样做除了减少代码量之外没有任何特殊值(value)。

function doSome() {
    return (needToLoad) ? load().promise() : $.Deferred().resolve().promise();
}

关于javascript - 如果不需要执行操作,则创建延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16994853/

相关文章:

javascript - 检测页面退出时 PrimeFaces 中 UI 组件的客户端更改?

javascript - 具有解构数组默认参数的函数的非数组参数给出 TypeError

javascript - Ninja Forms 服务器端验证在 "Processing"上卡住

javascript - 替换 Jquery 上的 .live()

javascript - 无法弄清楚如何根据日期自动显示文本内容

jquery - 如何处理不确定数量的 jQuery Promise?

Javascript在底部,函数调用在主体?

jQuery 延迟与 jqXHR

javascript - JQuery 延迟数组,实现不工作

javascript - 你如何消除一个子类的所有 div,但一个?