Обещание Javascript, возвращая ноль из catch? - PullRequest
0 голосов
/ 27 ноября 2018

В пиаре, который я недавно просматривал, я увидел это:

const accessToken = await getAccessToken().catch(() => null);

Мой вопрос: улов здесь что-нибудь делает?Это присваивает нуль accessToken?Было бы иначе без этого?

Ответы [ 3 ]

0 голосов
/ 27 ноября 2018

"Метод catch() возвращает Обещание и обрабатывает только отклоненные случаи." Источник

Таким образом, в этой строке просто говорится, что если при выполнении обещания возникает ошибка, () => null, которая в основном возвращает нуль внутри Обещания.

0 голосов
/ 27 ноября 2018

Да, если в getAccessToken произошла ошибка, значение внутри обещания будет равно нулю

const accessToken = await getAccessToken().catch(() => null);  //accessToken will be a promise

accessToken .then(function(value) {
  console.log(value);    // expected output: null
});
0 голосов
/ 27 ноября 2018

Arrow functions имеет неявных возвратов .

В вашем фрагменте кода, если getAccessToken() отклонено, будет введено catch(), значение будет nullвозвращается к accessToken.

По сути acccessToken может равняться (в зависимости от результата) :

(пример токена доступа)

accessToken = asda8sdaewrascsac;

ИЛИ

accessToken = null;


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...