카테고리 없음

[node.js] 몽구스로 약속 중첩

행복을전해요 2021. 1. 15. 13:47

약속에 대해 몇 가지 오해 한 것 같습니다.

주어진 getTeamPromise.then(onResolve, onReject):

  • onResolve 및 onReject에서는 약속이 이미 해결 / 거부되었으므로 동일한 약속에 대해 resolve를 호출하여 상태를 변경할 수 없습니다.
  • resolve (function ())는 첫 번째 결과에서 처리 된 결과 여야합니다.
  • 일반적으로 약속의 상태를 조작해서는 안되며, 호출하는 많은 메서드는 약속을 만들고 채우는 내부 메서드입니다.
  • onResolve 핸들러에서 프라 미스를 반환하면 해당 프라 미스 또는 값을 다음으로 파이프합니다. then

이것을-아마도-작동 방식으로 작성하겠습니다.

saveTeamMatch.then(function saveTeamMatchToTeam(teamMatch) {
    console.log('TEAM_MATCH in SAVE to TEAM', teamMatch); //works
        // when a team is gotten and a teamMatch is made and saved
            // save the teamMatch to the team
                return Team
                        .findOneAndUpdate({id:1540}, {$push:{matches:teamMatch}}).exec()
                                .then(function successfullySaveTeamMatchToTeam(team) {
                                            console.log('TEAM in SUCCESSFUL SAVE', team);
                                                        return team;
                                                                }, function failToUpdateTeam(err) {
                                                                            console.error('failedToUpdateTeam', err);
                                                                                    });
                                                                                    },function failToSaveTeamMatch(err) {
                                                                                        console.error('saveTeamMatch failed', err);
                                                                                        })
                                                                                        .end();
                                                                                        


출처
https://stackoverflow.com/questions/22006827