javascript - async.mapLimit 使用来发出多个请求

标签 javascript node.js asynchronous coffeescript

我有这样的行:

async.mapLimit(urls, 10, getCertificatesFromPage, callback)

其中 urls 是一个包含 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 x 10 页的所有对象,但我只收到 50 * 10 链接,还有更多

我可以用这段代码做什么来让它工作?

最佳答案

getCertificatesFromPage = (url, callback) ->

您没有在 getCertificatesFromPage 函数中调用回调。如果没有它,框架就无法知道工作何时完成。

关于javascript - async.mapLimit 使用来发出多个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30400595/

相关文章:

javascript - 从 jquery 范围调用到类函数

node.js - 我可以访问 multer 自定义存储引擎 _handleFile 函数中的 res 对象吗

node.js - 如何在Nestjs中实现多种 Passport JWT身份验证策略

android - 如何通过网站 URL 而不是文件 URL 下载文件

c# - 我应该如何使用不允许异步 Controller 操作的 CMS 处理异步 API 调用?

javascript - 赋值的同时赋值

javascript - React Native - 导入自定义组件时出现导航错误

javascript - angular.js 从数组中获取特定值

node.js - 已成功将 Node 应用程序部署到 OpenShift,OpenShift 仍显示默认页面

javascript - 如何将 mocha 测试与 async.series 一起使用