axios / 用于架构 / 模型的请求

axios / request used for schema / model

我想建立一个用户数据库,如果他们有网站,请检查该网站是否在线,如果不在线,请保存 url 并告知用户该网站已离线。问题是当程序通过请求时它似乎什么都不做并且只是跳出,我尝试使用 axios 和请求但问题仍然存在;我相信这可能是由于异步计算造成的。任何帮助将不胜感激 =)

var r = require('rethinkdb');
var axios = require('axios');

var schema = function(data, callback){
  new_schema = true;
  var schema = {};
  if(new_schema){
    schema.user = user.id;
  }

  schema.name = data.title || '';
  schema.email = data.email || '';

  if(data.url){
    axios.get(data.url).then(function(err, response){
     if(err) schema.url = 'no site'  
     schema.url = 'data.url';
     callback(schema);
    }).catch(function(error){
       console.log(error);
      callback(schema);
     });
  }else{
    callback(schema);
  }

};
  var datos = '';  
  command.stdout.on('data', (data) => {
    datos = datos + data;
  });


  command.on('close', (code) => {

      const objs = JSON.parse(datos);
      for (var i in objs) {
        let obj = schema(objs[i], function(sch){
          console.log(sch);
        });
      }
    }catch(e){
      console.log(e);
    }
    process.exit();
  });

});

问题是异步引起的。要解决它必须使用队列,而我使用了库 better-queue。这解决了问题并向服务器端发出所有调用。