不知道這是否可能,但我會給它一個去。我有一個延遲函數,可以調用服務器來創建或更新對象。例如:自定義JQuery延遲處理程序
var createOrUpdate = function(item) {
var self = this;
var deferred;
if (item.id && item.id > 0) {
updated = true;
deferred = update.call(self, params);
} else {
deferred = create.call(self);
}
return deferred;
};
其中create和call方法返回延遲自己。這將允許我這樣稱呼
foo.createOrUpdate(bar).then(function(response) {
// something happened
});
但是我希望能夠在一些自定義的延遲處理程序添加,這樣我可以做到這一點
foo.createOrUpdate(bar).created(function(response) {
// an item was created
}).updated(function(response) {
//an item was updated
});
首先,這是可能的。其次,如果是這樣,我將如何去做。
基本上我想創建一個自定義的延遲處理程序。
非常感謝。
你必須實現一個自己。 –
我明白這一點。這就是我想要做的。並希望得到一些指針:D –
爲什麼'.created()'和'.updated()'會爲'.progress()','.done()','.fail()'或' 。()'還沒有做?我建議你需要安排'create()'和'update()'函數來解析它們各自的Deferreds,它們有一些值(或者是一個對象的屬性)來標識哪個動作('create'或'update')已經成功完成。爲什麼要讓事情更復雜? –