Node crawler code optimization?

  node.js, question
var http = require('http'),
 url = require('url'),
 superagent = require('superagent'),
 cheerio = require('cheerio'),
 async = require('async'),
 eventproxy = require('eventproxy');
 var data = {},
 urlLists = {
 'hangzhou':[],
 'shanghai':[]
 };
 var ep = new eventproxy(),
 baseUrl = ['http://hz.lianjia.com', 'http://sh.lianjia.com'],
 urls = ['http://hz.lianjia.com/ershoufang/', 'http://sh.lianjia.com/ershoufang/'];
 var count = 0;
 function start() {
 var req = http.request(urls[0], function(res) {
 res.setEncoding('utf-8');
 res.on('data', function(chunk) {
 Data ['hangchou'] plus = chunk;
 });
 res.on('end', function() {
 Count plus;
 var $ = cheerio.load(data['hangzhou']);
 $('#filter-options .option-list').first().children('a').each(function(index, item) {
 Urllists ['hangchou']. push (baseurl [0] plus $(item).attr('href');
 });
 getUrl(count)
 });
 });
 req.end();
 var req1 = http.request(urls[1], function(res) {
 res.setEncoding('utf-8');
 res.on('data', function(chunk) {
 Data['shanghai'] plus = chunk;
 });
 res.on('end', function() {
 Count plus;
 var $ = cheerio.load(data['shanghai']);
 $('#filter-options .option-list').first().children('a').each(function(index, item) {
 Urllists ['Shanghai']. push (baseurl [1] plus $(item).attr('href');
 });
 getUrl(count)
 });
 });
 req1.end();
 function getUrl(count) {
 if( count === 2 ) {
 console.log(urlList);
 
 bracket
 bracket
 bracket
 start();
 
 
 
 
 Can you tell me how to optimize the following code

require('superagent')That means you know how to use class libraries to accomplish thishttp.requestYou can stop writing.
require('eventproxy')require('async')It shows that you want process control.

You asked how to optimize, in fact you already have that consciousness, the rest is just followapiJust adjust the document.