如何创建扩展 $.Deferred 的 jQuery 插件?

How do I create a jQuery plugin extending $.Deferred?

我想用一种新方法扩展 $.Deferred,该方法应该具有类似于 Deferred.fail() 的签名。这样做的最佳方法是什么?

找到方法了。

我正在用一个新函数覆盖 $.Deferred,该函数调用基本函数并使用新方法 returns 扩展对象:

$._Deferred = $.Deferred;
$.Deferred = function (param) {
    var deferredToExtend = $._Deferred(param);

    deferredToExtend.test = function (param) {
        var deferred = $.Deferred();
        deferredToExtend.always(deferred.resolve.bind(deferred, param));
        return deferred.promise();
    };

    return deferredToExtend;
};

这是jsfiddle