首先道歉爲我可憐的英語。與異步sequelize並找到方法
我無法訪問查找方法之外更新的vehicle.vsr.selectedvalues。
步驟i隨後
1)我有一個車輛陣列及相關聯的vsrdetails。 2)我想在現有的車輛JSON中增加一個元素(contractor_name)。 3)爲此我正在形成新的數組併發送到響應。
威脅是我無法訪問查找方法之外更新的vehicle.vsr細節。
async.forEach(vehicles, function(vehicle, callback){
newvehicles.push(vehicle.selectedValues)
Contractor.find({ 'where': { 'id': (vehicle.vsr.contractor_id).toString().trim() } }).success(function(contractor){
console.log(vehicle.vsr.contractor_id +"======"+ contractor.name + "========"+ vehicle.vsr.project_id)
var vsrnew = Array()
console.log("***************************************************")
console.log(newvehicles)
vehicle.vsr.selectedValues["contractor_name"] = contractor.name
vsrnew.push(vehicle.vsr.selectedValues)
newvehicles["vsr"] = vehicle.vsr.selectedValues
})
callback()
},function(){
return res.json({ "total": total, "start": start, "limit": limit, "items": newvehicles })
})
感謝您的耐心等待。
衷心感謝您的更新,忽略分號。得到它 –
嗨@clay,在上面的問題。我正在獲取記錄並在同一對象中添加名爲contractor_name的新元素並將其推入新數組。在這裏,每一件事情都很好。現在我關心的是,新陣列並不是作爲車輛列表形成的,bcoz是異步過程。如何避免這種情況,車輛檢索爲排序順序後,我想提取承包商。 –
你需要確保你所推入的對象/數組是在'async.each'調用之上定義的。否則,範圍在'each'函數內,然後在示波器死亡時丟失。一旦你擁有了所有你想要的元素,你可能需要在'async.each'的末尾進行排序。 – clay