Один созданный Promise обычно представляет одну уже запущенную операцию; несколько then не запускают её заново. У cold Observable каждая подписка обычно создаёт отдельное выполнение.
В чём разница между Observable и Promise при нескольких подписках/обработчиках: сколько запросов и console.log будет выполнено?
Один созданный Promise обычно представляет одну уже запущенную операцию; несколько then не запускают её заново. У cold Observable каждая подписка обычно создаёт отдельное выполнение.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Один созданный Promise обычно представляет одну уже запущенную операцию; несколько then не запускают её заново. У cold Observable каждая подписка обычно создаёт отдельное выполнение.
Поэтому два subscribe на обычный холодный HTTP-поток могут дать два запроса, а два then одного Promise — один запрос и два обработчика. Hot/shared Observable ведёт себя иначе. Точное число console.log зависит от того, где он находится: в producer, операторе или обработчике; без кода универсальной цифры нет.