배열을 반복하고 모든 개체를 데이터베이스에 저장해야합니다.배열을 반복하고 개체를 저장 한 후 콜백
결국 모든 저장된 및 실패한 개체의 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)
}
})
})
}
코드 : 아래
는 내가 가지고있는 코드입니다. 이 방법을 더 잘 수행 할 수 있습니까?
이제는 어떻게 작동합니까? [Code Review] (http://codereview.stackexchange.com/)에 게시 할 가치가 있습니다. –
이것은 필요한 것을 얻기위한 합리적인 방법입니다. 반복을 줄이려면 약속 체인의 끝에있는 'finally'호출에 전체 체크를 넣고'then'과'catch' 핸들러에서 그것을 제거 할 수 있습니다. –
감사합니다. 나는 자바 스크립트를 처음 사용하고 이것이 올바른지 확실하지 않았다. @JordanBurnett 코드를 DRY로 유지 보수 할 것입니다. – user1107173