then()
方法- 如果不是第一个参数函数,则会忽略这个
then()
,例如
func() .then('hello') //这个then会被忽略 .then(res=>{ console.log(res) })
resolve(arg)
的参数arg
会传到紧接着的.then(callback(arg))
中- 如果你读懂了下面的例子,那么说明你对
then
方法基本掌握
- 如果不是第一个参数函数,则会忽略这个
function func(){
return Promise.resolve('func的返回值')
}
function callback(arg = '没有传参'){
return `callback函数的返回值 & ${arg}`
}
func()
.then(function (){
return callback(1) //返回的是字符串
})
.then(val => {
console.log(val) //callback函数的返回值
})
func()
.then(function(){
callback(2) //只是执行,并没有返回
})
.then(val => {
console.log(val) //undefined
})
func()
.then(callback(3)) //使用callback() 函数的执行结果(字符串)做then() 的参数,则这个then() 会被忽略
.then(val => {
console.log(val) //func的返回值
})
func()
.then(callback) //直接使用callback() 做then() 的参数,callback() 会接受func() 函数resolve() 的参数来做参数
.then(val => {
console.log(val) //callback函数的返回值 & func的返回值
})
如果对你有帮助的话,请点一个赞吧