Your first example is pretty malformed. If you're promise-chaining why would you be trying to assign to variables in the outer scope? Why are you assigning to constants? Why are you calling somePromise a second time in the first then?
It's almost a strawman. Anyone would have written:
somePromise()
.then(anotherPromiseFuncThatNeedsP1)
.catch(e => whatever);