【发布时间】:2017-10-04 17:13:22
【问题描述】:
我正在尝试通过网站进行分页,为了请求下一页,需要当前页面上的信息。
function paginateSite(numPages, cb) {
var stringToGetToNextPage = ''
for (var i = 0; i < numPages; i++) {
(function(i, stringToGetToNextPage) {
request({
url: 'http://website.com',
qs: {
nextPage: stringToGetToNextPage
}
},
function(err, res, body) {
body_json = JSON.parse(body)
console.log(body_json.stringToGetToNextPage)
})
})(i, stringToGetToNextPage)
}
}
如您所见,我无法在匿名函数之外设置 stringToGetToNextPage。我查看了异步库文档,但找不到任何可以解决我的问题的内容。
有人遇到过这个问题吗?这似乎是异步范式没有干净解决方案的情况。
编辑:问题#2,有没有一种方法可以在没有递归的情况下做到这一点?递归对于小例子来说很好,但现在我有一个 stackoverflow 案例,它可以在没有警告的情况下终止程序(并占用内存)。
【问题讨论】:
标签: javascript node.js asynchronous callback