Use jQuery 3 .catch( fn ) instead of .then( null, fn )
authorFomafix <fomafix@googlemail.com>
Tue, 9 Jan 2018 17:39:01 +0000 (18:39 +0100)
committerFomafix <fomafix@googlemail.com>
Wed, 10 Jan 2018 06:22:05 +0000 (07:22 +0100)
https://api.jquery.com/deferred.catch/ Since jQuery 3
deferred.catch( fn ) is an alias to deferred.then( null, fn )

This improves the readability.

Change-Id: I20fa3a1ed5c959ad0639ddf0162b8837fc15c720

resources/src/mediawiki.special/mediawiki.special.apisandbox.js
resources/src/mediawiki/api.js
resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js
resources/src/mediawiki/mediawiki.js
tests/qunit/suites/resources/mediawiki.api/mediawiki.api.test.js

index ff4335a..534af05 100644 (file)
                                                return xhr;
                                        }
                                } )
-                                       .then( null, function ( code, data, result, jqXHR ) {
+                                       .catch( function ( code, data, result, jqXHR ) {
                                                var deferred = $.Deferred();
 
                                                if ( code !== 'http' ) {
index 0e9c19b..2fcb4be 100644 (file)
                                        return abortedPromise;
                                }
 
-                               return ( abortable = api.post( params, ajaxOptions ) ).then(
-                                       // If no error, return to caller as-is
-                                       null,
+                               return ( abortable = api.post( params, ajaxOptions ) ).catch(
                                        // Error handler
                                        function ( code ) {
                                                if ( code === 'badtoken' ) {
index ac2bb02..2efacc9 100644 (file)
                                        } )
                                );
                        }
-               ).then(
-                       null,
+               ).catch(
                        // Always resolve, never reject
                        function () { return $.Deferred().resolve(); }
                );
index 6a218e3..104f699 100644 (file)
                // We only need a callback, not any actual module. First try a single using()
                // for all loading modules. If one fails, fall back to tracking each module
                // separately via $.when(), this is expensive.
-               loading = mw.loader.using( modules ).then( null, function () {
+               loading = mw.loader.using( modules ).catch( function () {
                        var all = modules.map( function ( module ) {
-                               return mw.loader.using( module ).then( null, function () {
+                               return mw.loader.using( module ).catch( function () {
                                        return $.Deferred().resolve();
                                } );
                        } );
index 2361f70..6c2d51e 100644 (file)
 
                // Don't cache error (T67268)
                return api.getToken( 'testerror' )
-                       .then( null, function ( err ) {
+                       .catch( function ( err ) {
                                assert.equal( err, 'bite-me', 'Expected error' );
 
                                return api.getToken( 'testerror' );