在一个典型的分页API返回与承诺
{
"data": ...,
"nextPageHref": <url>
}
我如何可以获取在JavaScript 所有页面,而无需使用递归非递归分页?
(递归的解决方案是一样的东西)
fetchPaginated(url) {
return fetch(url).then(result => result.nextPageHref
? fetchPaginated(result.nextPageHref).then(results => _.concat(result, results))
: result
}
为什么你想这样做没有递归? –
更好的堆栈跟踪,如果你使用thenable JS是不是尾递归(至少不是无处不在,没一会儿) – JonathanR
,我相信一个恰当的无极规范库,应该做类似的太nextTick东西,所以你应该堆栈清除。如果这就是你'更好的堆栈痕迹'的意思。 – Keith