Сообщение от fxobject
|
Причем, если поменять местами :
this.readServerInfo( options )
.then( function( result ){ ..... })
.catch( function( errorMessage ){ .... })
то then уже не срабатывает.
Так и должно быть?
|
При перемене мест слагаемых сумма меняться не должна.
Вот пример
let promise = new Promise(function(resolve, reject) {
setTimeout(() => reject(new Error("Whoops!")), 1000);
});
promise.then(
result => alert(result), // не будет запущена
error => alert(error + ' из then') // выведет "Error: Whoops!" спустя одну секунду
);
promise.catch(err => alert(err + ' из catch'))
Сколько их местами не меняй - выполнятся "оба".
Точнее выполнится вторая функция из then, ну и конечно функция из catch.
Т.е. так, как написано в букваре
https://learn.javascript.ru/promise-...-catch-finally
Цитата:
|
Если мы хотели бы только обработать ошибку, то можно использовать null в качестве первого аргумента: .then(null, errorHandlingFunction). Или можно воспользоваться методом .catch(errorHandlingFunction), который сделает тоже самое
|