关于链式操作中return的问题

来源:4-5 异步编程解决方案Promise(3)

DF11G

2020-08-25

在Promise的链式操作中,我发现不写return也能正常输出值。这是为什么呢?是webpack或者浏览器帮我自动纠错了吗?

let newPromise = function (url) {
	return new Promise((resolve, reject) => {
		ajax(url, res => {
			console.log(res)
			resolve()
		})
	})
}

newPromise('static/a.json')
	.then(() => {
		newPromise('static/b.json') //这里不写return
	}).then(() => {
		newPromise('static/c.json') // 这里不写return
	})
写回答

1回答

DF11G

提问者

2020-08-26

老师我弄懂了。如果不加return,程序会返回一个空的Promise,无法由原Promise对象传入参数进行相关操作。由于我把console.log(res)写在了newPromise()中,看上去可以正常运行,导致第一时间没发现这个隐藏错误的原因。

0
0

JavaScript ES(6-11)全版本语法 前端都需要的基础课

前端无门槛学习,从ES6到ES11,一套课程掌握JS最新语法

1328 学习 · 296 问题

查看课程