Я отправляю запрос angularjs и получаю ответ, Иногда получаю дублирование
$http.post('/project_inspection_list',{project_id:$scope.projectid}).then(function(response){
if(response){
if(response.data.status =="success"){
setTimeout(() => {
$scope.inspectionlist = response.data.inspection_list
console.log($scope.inspectionlist)
$scope.page_loader = false;
}, 1);
}
}
})
Правильный ответ:
[{
inspection_id: "000000009664ea3b2c3131c2",
inspection_name: "Sample",
field_user_name: "Radisson Blue Marina",
published_date_org: "2018-12-18T09:23:59.403Z",
published_date: "2018-12-18T09:23:59.403Z"
}
{
inspection_id: "000000009664ea3b2c3131cb",
inspection_name: "Sample 2",
field_user_name: "Radisson Blue Marina",
published_date_org: "2018-12-18T09:25:10.156Z",
published_date: "2018-12-18T09:25:10.156Z"
}
{
inspection_id: "000000009664ea3b2c3131d0",
inspection_name: "Sample 3",
field_user_name: "Radisson Blue Marina",
published_date_org: "2018-12-18T09:30:02.730Z",
published_date: "2018-12-18T09:30:02.730Z"
}]
Иногда получаю ответ, подобный следующему:
[{
inspection_id: "000000009664ea3b2c3131c2",
inspection_name: "Sample",
field_user_name: "Radisson Blue Marina",
published_date_org: "2018-12-18T09:23:59.403Z",
published_date: "2018-12-18T09:23:59.403Z"
}
{
inspection_id: "000000009664ea3b2c3131d0",
inspection_name: "Sample 3",
field_user_name: "Radisson Blue Marina",
published_date_org: "2018-12-18T09:30:02.730Z",
published_date: "2018-12-18T09:30:02.730Z"
}
{
inspection_id: "000000009664ea3b2c3131d0",
inspection_name: "Sample 3",
field_user_name: "Radisson Blue Marina",
published_date_org: "2018-12-18T09:30:02.730Z",
published_date: "2018-12-18T09:30:02.730Z"
}]
Код узла:
app.post('/project_inspection_list', async function (req, res) {
var id = req.body.project_id;
try{
var response = await mongo.inspection.findOne({'projectID':id})
}
catch(err){
return res.json({status:"failure"})
}
var inspection = [];
if(response){
var data = response.inspection_data;
for ( var i = 0; i<data.length; i++){
var item = data[i]
var fielduser = item.userID
// var user =
// if(item.published == "Y"){
try{
var client = await mongo.user.findOne({'_id': mongoose.Types.ObjectId(response.clientID)});
}
catch(err){
res.json({status:"failure"})
}
if(client){
await mongo.fielduser.findOne({'_id': mongoose.Types.ObjectId(fielduser)},function(err,user){
if(err){
res.json({status:"failure"})
}
else{
var domain_path = url_path.format({ protocol: req.protocol,host: req.get('host')});
var path ;
if(item.pdf){
path = domain_path+"/uploads/docs/"+client.owner_name+'/inspection/pdf/'+item.pdf;
}
inspection.push({
inspection_id:item._id,
inspection_name:item.insName,
field_user_name : user.owner_name,
published_date_org:item.published_date_org,
published_date:item.published_date,
path : path,
published : item.published,
created_date : item.created_date,
submissionTime : item.submissionTime
});
// });
}
})
}
else{
res.json({status:"failure"})
}
// }
}
console.log(inspection)
res.json({status:"success","inspection_list":inspection})
}
else{
res.json({status:"success","inspection_list":inspection})
}
});
На самом деле, у меня есть образец инспекционного имени, образец 2 и образец 3, иногда получаю неправильный образец ответа, образец 3, образец 3 - получаю образец 3 дважды вместоПример 2. Я использовал setTimeout, хотя иногда получаю неправильный ответ