Ben Aston
Ben Aston

Reputation: 55759

ES2015 promises - what am I missing?

I expected the following to print 1 2 3. But it prints 1 undefined 3. What am I missing?

var p = Promise.resolve('2');

new Promise(resolve => { console.log('1'); resolve(); })
  .then(p)
  .then((result) => console.log(result, '3'));

Upvotes: 1

Views: 110

Answers (1)

elreeda
elreeda

Reputation: 4597

You need to wrap the p variable in an anonymous function

var p = Promise.resolve('2');

new Promise(resolve => { console.log('1'); resolve(); })
  .then(() => p)
  .then((result) => console.log(result, '3'));

Upvotes: 6

Related Questions