Это не цепочка , вы регистрируете второе продолжение исходного обещания вместо обещания, возвращенного из предыдущего вызова then
. Это должно выглядеть так:
p.then(() => { console.log('Then 1'); return 'Hi Mum!!'})
.then(function(val) { console.log('Then 2: ' + val) });
Другой способ сделать это - присвоить первой цепочке переменную и предоставить ей then
вызов:
const chain = p.then(() => { console.log('Then 1'); return 'Hi Mum!!'})
// ...
chain.then(function(val) { console.log('Then 2: ' + val); });
Это позволяет вам обойти цепочку обещаний и получить ожидаемые значения.