Javascript 承诺递归 return 未定义
Javascript promise recursion return undefined
当里面有 promise 时,你如何 return 一个递归函数,
到目前为止,这是我的代码
loop = (i) => {
new Promise((resolve) => {
setTimeout(() => {
resolve(i)
}, 100)
})
.then((res) => {
if (res <= 5) {
return loop(res + 1)
} else {
return true
}
})
}
console.log(loop(0))
你需要return承诺。然后使用.then()
等待promise resolve,并在那里调用console.log()
。
loop = (i) => {
return new Promise((resolve) => {
setTimeout(() => {
resolve(i)
}, 100)
})
.then((res) => {
if (res <= 5) {
return loop(res + 1)
} else {
return true
}
})
}
loop(0).then(result => console.log(result));
当里面有 promise 时,你如何 return 一个递归函数, 到目前为止,这是我的代码
loop = (i) => {
new Promise((resolve) => {
setTimeout(() => {
resolve(i)
}, 100)
})
.then((res) => {
if (res <= 5) {
return loop(res + 1)
} else {
return true
}
})
}
console.log(loop(0))
你需要return承诺。然后使用.then()
等待promise resolve,并在那里调用console.log()
。
loop = (i) => {
return new Promise((resolve) => {
setTimeout(() => {
resolve(i)
}, 100)
})
.then((res) => {
if (res <= 5) {
return loop(res + 1)
} else {
return true
}
})
}
loop(0).then(result => console.log(result));