在自学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); })
想请问下这两者背后的原理是什么?
相关分类