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。这解决了问题并向服务器端发出所有调用。
我想建立一个用户数据库,如果他们有网站,请检查该网站是否在线,如果不在线,请保存 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。这解决了问题并向服务器端发出所有调用。