//讲解视频时间在10:00处 //then返回的必须是一个promise实例? //情况1:如果没有显示的返回promise,第二个then接收的参数是undefined,而不是和第一个then一样可以获取img //此时第二个then跟result没有什么关系,而不是视频讲中所讲没有指名返回哪个promises实例,他就返回本身的promise实例 result.then(function (img) { console.log(1, img.width) }, function () { console.log('error 1') }).then(function (img) { console.log(2, img) // img是undefined,而不是img,跟result没有关系 }) //如果不通过链式调用,就可以生效 result.then(function (img) { console.log(1, img.width) }, function () { console.log('error 1') }) result.then(function (img) { console.log(2, img.height) // 可以获取img }) //情况二:then返回的可以不是一个promise实例 result.then(function (img) { console.log(1, img.width) return img // 必须返回,否则第二个then接收不到 }, function () { console.log('error 1') }).then(function (img) { console.log(2, img) // 此时可以接收到第一个then返回的img,而不是promise })
请问讲师以上怎么理解,尤其是then返回的必须是一个promise,而明明有时候并不是,例如返回的img