Что вернёт функция, промис или строку?
Функция:
function f() {
return get().then(function() {
return "text";
});
}
get() - это некая функция которая инкапсулирует какую-либо логику и возвращает промис.
Функция вернет результат выполнения метода Promise.then()
- этот метод всегда возвращает новый промис.
console.log(f().constructor.name);
function f() { return get().then(function() { return "text"; }); }
function get() { return Promise.resolve(); }
Написанное выше, относится к случаю когда коллбэк в then
выполняется. Если же он не будет выполнен из-за ошибки/reject
'а в функции get()
- тогда f()
вернет именно ее результат (тоже промис).
Единственный случай, когда f()
может не вернуть промис - это случай когда выполнение прерывается в синхронном коде: до того, как get()
вернет промис. То есть, когда f()
не вернет вообще ничего, т.к. фактически не выполнится.
Пример:
console.log(f().constructor.name);
function f() { return get().then(function() { console.log('hello'); return "text"; }); }
function get() {
there.is.no.spoon; // тут будет ошибка выполнения
return Promise.resolve();
}
Подобная ситуация исключена, если код get
будет обернут в коллбэк промиса (потому что тогда код выполнится асинхронно, и get()
вернет результат до его выполнения):
console.log(f().constructor.name);
function f() { return get().then(function() { return "text"; }); }
function get() {
return new Promise(resolve => {
there.is.no.spoon; // тут будет ошибка, и выполнение перейдет в callback ближайшего .catch()
resolve();
});
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добрый день! Не могу понять, как правильно реализовать MVC паттерн, вот пример кода:
У меня бот для вкМне нужно что бы при вводе команды test бот ответил пользователю "Работаю"
Как поставить эффект tooltip js на img , проект на wordpress
В общем, суть в следующемВ начале игры заполняются данные формы, типа Имя, Фамилия, и отправляются в localstorage