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

Create deferred if no need to do action

本文关键字:操作 创建 延迟 如果 不需要 执行 如果不      更新时间:2023-09-26

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

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

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

通过使用三进制,该函数将简化为一行代码,尽管这样做除了减少代码量之外没有特别的价值。

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