В пиаре, который я недавно просматривал, я увидел это:
const accessToken = await getAccessToken().catch(() => null);
Мой вопрос: улов здесь что-нибудь делает?Это присваивает нуль accessToken?Было бы иначе без этого?
accessToken
"Метод catch() возвращает Обещание и обрабатывает только отклоненные случаи." Источник
catch()
Таким образом, в этой строке просто говорится, что если при выполнении обещания возникает ошибка, () => null, которая в основном возвращает нуль внутри Обещания.
() => null
Да, если в getAccessToken произошла ошибка, значение внутри обещания будет равно нулю
const accessToken = await getAccessToken().catch(() => null); //accessToken will be a promise accessToken .then(function(value) { console.log(value); // expected output: null });
Arrow functions имеет неявных возвратов .
Arrow functions
В вашем фрагменте кода, если getAccessToken() отклонено, будет введено catch(), значение будет nullвозвращается к accessToken.
getAccessToken()
null
По сути acccessToken может равняться (в зависимости от результата) :
acccessToken
(пример токена доступа)
accessToken = asda8sdaewrascsac;
ИЛИ
accessToken = null;