В чём разница в работе .then() у двух промисов?
Представьте, что вместо консольлога вы передаете функцию fn
Теперь, смотрите:
1
.then(fn())
2
.then(()=>{fn()})
Понятна ошибка? В первом случае нужно было передать указатель на функцию, а мы её сразу вызвали fn(), правильнее было так:
.then(fn)
То же самое происходит и с консольлогом.
В том что первый не работает как ожидается, а второй работает.
Если писать так:
.then(console.log("promise then"))
То "promise then" будет выведено сразу же, не дожидаясь завершения промиса.