【发布时间】:2018-02-20 12:33:18
【问题描述】:
我正在尝试编写一个递归函数,它会在使用正确的值解析之前多次调用自身。
const recursivePromise = (val = 1) => {
return new Promise((resolve, reject) => {
if (val > 5) {
resolve(val)
} else {
return recursivePromise(val + 1)
}
})
}
const doSomethingWithResult = (val) => {
return new Promise((resolve, reject) => {
resolve(val + 2)
})
}
recursivePromise().then(doSomethingWithResult).then(value => console.log(value))
如果我给出一个初始值 '6',则 Promise 将正确解析,并且传递给链接到它的第二个 Promise 的值。但是,如果 recursivePromise 必须调用自己一次或多次,则解析值永远不会到达承诺链的第二个元素。
谁能指出我在这里遗漏了什么?
【问题讨论】:
标签: javascript promise chaining