Этот вопрос состоит из двух частей, обе из которых касаются того, как обещания Javascript передаются функциям с помощью операторов возврата.
1)
У меня есть простая функция Javascript, которая включает несколько операторов return. Внутренняя функция возвращает обещание функции стрелки, функция стрелки также возвращается, как это:
const returnMe(data){
return () => {
return Promise.resolve(data);
};
};
Могу ли я написать следующий код?
returnMe("Hello!").then((msg) => { console.log(msg) }); /// --> output "Hello!" ??
Другими словами, если вложенная функция получает разрешенное / отклоненное обещание, и эта функция возвращается к своей родительской функции, получает ли родительская функция полученное / отклоненное обещание?
2)
Другой, связанный, но несколько другой пример ....
const returnMe(data){
return () => {
return Promise.resolve(data).then(() => { console.log("Ha!") });
};
};
В этом случае вызов функции then происходит внутри функции. Тогда называет "израсходовать" обещание? В этом случае, что возвращается в функцию стрелки, а затем в родительскую функцию?
Спасибо за вашу помощь.