-2

我对异步瀑布有点问题,因为我想在处理循环的函数之后调用下一个函数。脚本是异步瀑布流的一部分,以前的函数工作得很好。这里唯一的是它有一个for循环。代码如下。任何帮助将不胜感激。谢谢

function(querySize,req)
{
console.log("in second function call :" +querySize);
var temp,title;
for(var counter = 0;counter <= querySize;counter++)
{
    websiteAddressArray[counter]  = req.query.address[counter];
    console.log("for  is : " +req.query.address[counter]);
    console.log("first line is : " +websiteAddressArray[counter]);
    console.log("second line  is : " +websiteAddressArray[counter]);
    request(websiteAddressArray[counter], function(err, resp, body)
    {
        $ = cheerio.load(body);
        console.log("title is : " +$('title').text());
        titleArray[counter] =  $('title').text();   
    });
  }
  var line="this is string";
  callback(null,line);
 },
 function(callback,line)
 {
  console.log("line is : " +line)
 },
4

1 回答 1

1

syntax的不正确。始终传递async.waterfallcallback中的最后一个参数

 function(querySize, req,callback) {
  console.log("in second function call :" + querySize);
  var temp, title;
  for (var counter = 0; counter <= querySize; counter++) {
    websiteAddressArray[counter] = req.query.address[counter];
    console.log("for  is : " + req.query.address[counter]);
    console.log("first line is : " + websiteAddressArray[counter]);
    console.log("second line  is : " + websiteAddressArray[counter]);
    request(websiteAddressArray[counter], function(err, resp, body) {
      $ = cheerio.load(body);
      console.log("title is : " + $('title').text());
      titleArray[counter] = $('title').text();
    });
  }
  var line = "this is string";
  callback(null, line);
},
function(callback, line) {
  console.log("line is : " + line)
},
于 2016-09-30T06:48:10.110 回答