我需要遍歷數組並將每個對象保存到數據庫。遍歷數組並保存對象後回調
最後我需要回調一個array
的所有保存和失敗的對象。
下面是我的代碼:
exports.addList = (app, body, callback) => {
var savedObjects = []
var failedObjects = []
body.forEach((element, index) => {
body[index] = _.pick(element, 'userAId','userBId')
db.List.create(element).then((list) => {
savedObjects.push(element)
if (index == body.length - 1) {
callback(savedObjects, failedObjects)
}
}).catch((error) => {
if (error.name === "SequelizeUniqueConstraintError") {
failedObjects.push(element)
if (index == body.length - 1) {
callback(savedObjects, failedObjects)
}
})
})
}
上述工程的代碼。有沒有更好的方法來實現這一點?
你不喜歡現在如何工作?它也許值得發佈到[代碼評論](http://codereview.stackexchange.com/)。 –
這似乎是一種合理的方式來實現你所需要的。如果你想減少一些重複,你可以把你的完整支票放在承諾鏈末尾的一個'finally'調用中,並將它從'then'和'catch'處理程序中移除。 –
謝謝。我是JavaScript新手,不確定這是否正確。 @JordanBurnett我會重構保持代碼幹。 – user1107173