Не могу передать ценность цепочке обещаний - PullRequest
0 голосов
/ 23 января 2019

В моем коде у меня есть ...

p.then(() => { console.log('Then 1'); return 'Hi Mum!!'});

... и

p.then(function(val) { console.log('Then 2: ' + val);

Вывод, когда обещание разрешено ...

Тогда 1 Затем 2: undefined

Как получить доступ к возврату из То 1 в То 2?

1 Ответ

0 голосов
/ 23 января 2019

Это не цепочка , вы регистрируете второе продолжение исходного обещания вместо обещания, возвращенного из предыдущего вызова 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); });

Это позволяет вам обойти цепочку обещаний и получить ожидаемые значения.

...