then принимает параметром функцию которая один параметр передает, да
но это не баг а фича - если представить then как нечто что возвращает результат, ведь функция тоже только один параметр может вернуть
это окупится когда появится async/await - ты сможешь делать так:
1) somePromise().then(result => console.log(result))
2) const result = await somePromise(); console.log(result)