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

时间:2013-06-08 00:45:07

标签: javascript jquery jquery-deferred

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

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

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

1 个答案:

答案 0 :(得分:0)

通过使用三元组,该功能将简化为单行,但除了减少代码量之外没有特别的价值。

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