javascript函数应返回数组,而不是返回undefined

时间:2017-03-21 04:35:24

标签: javascript arrays request

我正在撰写网络抓取应用程序。我可以将它写成一个单独的脚本,它将根据需要返回一个数组。模块化我的代码并将其转换为函数时,应返回数组的代码将返回undefined。任何指针都会很棒。

"use strict";
let request  = require("request");
let  cheerio = require("cheerio");

function isNotUndefined(value){
  if(value !==undefined){
    return value;
  }
}

function scrapeIndexPage(url){
  var arr = new Array();
  request(url, function(req,error,body){
    var $ = cheerio.load(body);
    var view = $("div.view-content");
    view = view.html();
    $ = cheerio.load(view);
    for(var i=1;i<60;i++){
      var getClass = ".class-row-"+i+" a";
      var link = $(getClass).attr("href");
      arr.push(link);
    }
    arr = arr.filter(isNotUndefined);
  });

  return arr;
}

var url = 'http://www.urlhere.com';
console.log(scrapeIndexPage(url));

0 个答案:

没有答案