Javascript async.mapLimit用于发出多个请求
我有这样一句话:Javascript async.mapLimit用于发出多个请求,javascript,node.js,asynchronous,coffeescript,Javascript,Node.js,Asynchronous,Coffeescript,我有这样一句话: async.mapLimit(urls, 10, getCertificatesFromPage, callback) 其中URL是包含URL的数组,getCertificatesFromPage: getCertificatesFromPage = (url, callback) -> request url, (err, res, html) -> $ = cheerio.load(html) allRows = $('div.search
async.mapLimit(urls, 10, getCertificatesFromPage, callback)
其中URL是包含URL的数组,getCertificatesFromPage:
getCertificatesFromPage = (url, callback) ->
request url, (err, res, html) ->
$ = cheerio.load(html)
allRows = $('div.search-result-shop')
objCollector = []
allRows.each () ->
links = $(this).find('a')
obj =
companyName: $(this).find('.companyname').text()
pageDetailsUrl: ''
link: ''
for link in links
extractedLink = link.attribs.href
if extractedLink.includes('http')
obj.link = extractedLink
else
obj.pageDetailsUrl = nameSpace.pageName + extractedLink
objCollector.push obj
return objCollector
这不太好,因为我需要从每个页面收集10到10页的所有对象,但我只收到50*10个链接,还有更多
如何使用此代码使其工作
getCertificatesFromPage = (url, callback) ->
您没有在
getCertificatesFromPage
函数中调用回调。如果没有这一点,框架就无法知道工作何时完成。你能用两个词解释一下如何工作回调null,objCollector吗