在一個典型的分頁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