4
somecode;    
this.function(param1, param2)
    .pipe(function (model) {
        if (condition) {
            do something
        };
    }).pipe(){
        do something else;
    }

我刚刚了解承诺,现在我有了这个代码。我需要做这部分

this.function(param1, param2)
    .pipe(function (model) {
        if (condition) {
            do something
        };
    })

进入一个新功能,但我不明白如何在这里返回一个承诺......

4

1 回答 1

2

.pipe()已弃用 sice jQuery 1.8 版,不再使用它。

替换称为.then()

您不需要返回承诺,只需返回(修改后的)data本身。DeferredAPI 完成其余的工作。

this.function(param1, param2)  // assuming that call returns a promise object
    .then(function (data) {
        if (condition) {
            // do something *to* data
        };
        return data;
    })
    .then(function (data) {
        // do something else to data;
        return data;
    })
    .done(function (data) {
        // do something *with* data
    });
于 2013-10-10T09:28:57.783 回答