1

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

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

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

4

1 回答 1

0

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

function doSome() {
    return (needToLoad) ? load().promise() : $.Deferred().resolve().promise();
}
于 2013-06-08T05:16:59.727 回答