У меня есть метод, который возвращает JSON всех объектов
const getAllItems=async function(req,res){
localDB.find({
selector:{type:'item'},
fields: ['_id', 'itemNumber','itemName',"compatablities","companyID"],
sort: ['_id']
}).then(async function (result) {
if (result) {
var refinedResult=[]
//console.log(result.docs[0]);
for (i = 0; i < result.docs.length; i++) {
var parentItem={
itemName:result.docs[i].itemName,
itemNumber:result.docs[i].itemNumber,
companyID:result.docs[i].companyID,
parentItemNo:"Parent"
}
console.log("before");
const resolvedN=await resolveName(parentItem.companyID);
console.log(resolvedN)
console.log("Passed");
refinedResult.push(parentItem);
for (j = 0; j < result.docs[i].compatablities.length || 0; j++) {
var oneCompatItemConstruct={
itemName:result.docs[i].itemName,
itemNumber:result.docs[i].compatablities[j].itemNumber,
companyID:result.docs[i].compatablities[j].companyID,
parentItemNo:result.docs[i].itemNumber,
}
//console.log(oneCompatItemConstruct);
refinedResult.push(oneCompatItemConstruct);
}
}
return res.status(200).json({
refinedResult
})
}
}).catch(function (err) {
console.log(err);
})
}
, и объекты имеют идентификатор, который должен быть разрешен к имени, поэтому я написал функцию для разрешения его имени и принял cid как параметр и возвращает строку
function resolveName(c_id){
localDB.find({
selector:{type:'company',_id:c_id},
fields: ['companyName'],
})
.then(company=>{
if (company.docs.length >=1) {
console.log(c_id);
const result = company.docs[0].companyName
return result
}
else{
return null
}}).catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
}
я хочу, чтобы функция вызывалась для каждого l oop и обновляла код во время его выполнения, как бы я это сделал?