Синтаксис
.pipe([doneFilter],[failFilter])
.pipe([doneFilter],[failFilter],[progressFilter])
Описание
Метод .pipe() производит предварительную обработку параметров, которые будут передаваться в обработчики смены состояния объекта deffered.
- doneFilter - функция, которая будет получать параметры, предназначенные для обработчика удачного выполнения исходного deffered-объекта
- failFilter - то же, что и doneFilter, только для обработчиков неудачного выполнения
- progressFilter - аналогичен двум другим параметрам, но для обработчиков прогресса выполнения объекта deferred
Примеры
var defer = $.Deferred(),
filtered = defer.pipe(function( value ) {
return value * 2;
});
defer.resolve( 5 );
filtered.done(function( value ) {
alert( "Value is ( 2*5 = ) 10: " + value );
});
var defer = $.Deferred(),
filtered = defer.pipe( null, function( value ) {
return value * 3;
});
defer.reject( 6 );
filtered.fail(function( value ) {
alert( "Value is ( 3*6 = ) 18: " + value );
});
var request = $.ajax( url, { dataType: "json" } ),
chained = request.pipe(function( data ) {
return $.ajax( url2, { data: { user: data.userId } } );
});
chained.done(function( data ) {
// data retrieved from url2 as provided by the first request
});
0 комментариев