猿问

使用NodeJS Promise then 返回值的问题

在自学Promise的时候遇到了如下现象:

var promise1 = Promise.resolve([1, 2, 3]);function promise2() { 
  promise1.then(function(value) {      return Promise.resolve(value);  // expected output: Array [1, 2, 3]
  })
}

promise2().then(function(value){    console.log(value);
})

运行报错如下:

promise2().then(function(value){
          ^TypeError: Cannot read property 'then' of undefined

加入return修改后正常返回

var promise1 = Promise.resolve([1, 2, 3]);function promise2() { 
  return promise1.then(function(value) {      return Promise.resolve(value);  // expected output: Array [1, 2, 3]
  })
}

promise2().then(function(value){    console.log(value);
})

想请问下这两者背后的原理是什么?


大话西游666
浏览 3531回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答