작업이 완료되기 전에 NodeJS 비동기가 완료 됨

Braeden Dillon

문제가 있습니다. 기본적으로이 비동기 폭포가 완료되면 함수를 호출하고 싶습니다. 문제는 업데이트를 호출하지만 업데이트가 완료되기 전에 계속된다는 것입니다. 호출하려는 함수는 이미 업데이트 된이 데이터에 따라 다릅니다.

메시지가 전송되지 않았습니다. 그러나 결국 데이터베이스에서 업데이트됩니다.

function(arg1, arg2, callback) {
    console.log('Updating current_pot with amountInPot');
    current_pot.findOneAndUpdate(
        {}, 
        {'amountInPot': currentlyInPot}, 
        function(err, current) {
            if (err) {
                throw err;
            }
            if (current != null) {
                console.log('Updated current_pot amountInPot');
                callback(null, 'c');
                //This message should be sent before the callback continues!
            }
        });
    }

모든 코드 :

async.waterfall([
    function(callback) {
        //remove from db
        console.log('Add to local pot!');
        currentlyInPot++;
        peopleInPot.push([user.local.picture, message[1], user.local.email]);
        callback(null, 'a', 'b');
    },
    function(arg1, arg2, callback) {
        console.log('Updating persons credits');
        callback(null, 'c', 'd');
    },
    function(arg1, arg2, callback) {
        console.log('Adding new people to db');
        var newPeople = new people_pot();
        newPeople.email = user.local.email; //Auto increment
        newPeople.picture = user.local.picture;
        newPeople.message = message[1];

        /** success starts */
        newPeople.save(function(err) {
            if (err) {
                throw err;
            }
        });

        callback(null, 'a', 'b');
    },
    function(arg1, arg2, callback) {
        console.log('Updating current_pot with amountInPot');
        current_pot.findOneAndUpdate({}, {
             'amountInPot': currentlyInPot
        }, 
    function(err, current) {
        if (err) {
            throw err;
        }
        if (current != null) {
            console.log('Updated current_pot amountInPot');
            callback(null, 'c');
            //This isn't getting completed before the loadpot is called!
        }
    });
}
], function(err, result) {
    // result is 'e'
    //add to db
});
타마스 헤게 더스

newPeople.save완료 될 때까지 기다리는 것을 잊었습니다 . 콜백 함수 호출을 콜백에 넣습니다. (부름)

    /** success starts */
    newPeople.save(function(err) {
        callback(err, 'a', 'b');
    });

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C # 비동기 작업이 완료되기 전에 완료 됨

분류에서Dev

Firebasequery가 완료되기 전에 Android 비동기 작업이 완료 됨

분류에서Dev

이전 작업이 완료되기 전에 작업이 시작됨

분류에서Dev

Spring-batch가 종료 상태로 종료 됨 : 실제 작업이 완료되기 전에 완료 되었습니까?

분류에서Dev

q. 약속이 완료되기 전에 모두 반환 됨

분류에서Dev

NodeJS는 기능이 완료되기 전에 응답합니다.

분류에서Dev

프로그램이 종료되기 전에 신호 CGI 출력이 완료 됨

분류에서Dev

모든 작업이 완료되기 전에 ThreadPoolExecutor 종료

분류에서Dev

첫 번째 Jquery가 완료되기 전에 두 번째 Jquery json이 시작됨

분류에서Dev

작업이 완료되기 전에 반환되는 완료 핸들러

분류에서Dev

예상 전에 작업이 완료 됨

분류에서Dev

DELETE 요청이 완료되기 전에 페이지가 렌더링 됨

분류에서Dev

소셜 공급자에 대해 비동기 작업이 완료되기를 기다리는 동안 HttpServerUtility.Execute가 차단됨

분류에서Dev

쿼리가 완료되기 전에 완료된 Big Query 작업 상태

분류에서Dev

작업이 완료되기 전에 WPF 창 닫기

분류에서Dev

파일 업로드를 완료하기 전에 스크립트가 종료 됨

분류에서Dev

작업이 완료되기 전에 약속 해결 화재

분류에서Dev

라우트 내의 로직이 완료되기 전에 서버리스 익스프레스 앱이 종료 됨

분류에서Dev

리턴하기 전에 NodeJS에서 이벤트 완료 대기

분류에서Dev

비동기 응답이 돌아 오기 전에 fsx 스크립트가 완료 됨

분류에서Dev

Jquery 지연됨-이전 함수가 완료되기 전에 함수 호출 연기

분류에서Dev

완료 처리기가 작동하지 않음 (모든 작업이 동시에 실행 됨)

분류에서Dev

콜백이 완료되기 전에 자바 스크립트 함수 완료

분류에서Dev

쓰기가 완료되기 전에 IndexedDB 읽기 완료

분류에서Dev

c # : 완료되기 전에 특정 시간이 지난 후 비동기 작업 다시 시작

분류에서Dev

완료 전에 Nodejs 비동기 호출 드레인 콜백

분류에서Dev

읽기 전용 복제본 생성 작업이 완료되고 완료되었는지 확인하는 방법

분류에서Dev

읽기 전용 복제본 생성 작업이 완료되고 완료되었는지 확인하는 방법

분류에서Dev

콜백이 완료되기 전에 socket.io 함수가 반환 됨-Node.js

Related 관련 기사

  1. 1

    C # 비동기 작업이 완료되기 전에 완료 됨

  2. 2

    Firebasequery가 완료되기 전에 Android 비동기 작업이 완료 됨

  3. 3

    이전 작업이 완료되기 전에 작업이 시작됨

  4. 4

    Spring-batch가 종료 상태로 종료 됨 : 실제 작업이 완료되기 전에 완료 되었습니까?

  5. 5

    q. 약속이 완료되기 전에 모두 반환 됨

  6. 6

    NodeJS는 기능이 완료되기 전에 응답합니다.

  7. 7

    프로그램이 종료되기 전에 신호 CGI 출력이 완료 됨

  8. 8

    모든 작업이 완료되기 전에 ThreadPoolExecutor 종료

  9. 9

    첫 번째 Jquery가 완료되기 전에 두 번째 Jquery json이 시작됨

  10. 10

    작업이 완료되기 전에 반환되는 완료 핸들러

  11. 11

    예상 전에 작업이 완료 됨

  12. 12

    DELETE 요청이 완료되기 전에 페이지가 렌더링 됨

  13. 13

    소셜 공급자에 대해 비동기 작업이 완료되기를 기다리는 동안 HttpServerUtility.Execute가 차단됨

  14. 14

    쿼리가 완료되기 전에 완료된 Big Query 작업 상태

  15. 15

    작업이 완료되기 전에 WPF 창 닫기

  16. 16

    파일 업로드를 완료하기 전에 스크립트가 종료 됨

  17. 17

    작업이 완료되기 전에 약속 해결 화재

  18. 18

    라우트 내의 로직이 완료되기 전에 서버리스 익스프레스 앱이 종료 됨

  19. 19

    리턴하기 전에 NodeJS에서 이벤트 완료 대기

  20. 20

    비동기 응답이 돌아 오기 전에 fsx 스크립트가 완료 됨

  21. 21

    Jquery 지연됨-이전 함수가 완료되기 전에 함수 호출 연기

  22. 22

    완료 처리기가 작동하지 않음 (모든 작업이 동시에 실행 됨)

  23. 23

    콜백이 완료되기 전에 자바 스크립트 함수 완료

  24. 24

    쓰기가 완료되기 전에 IndexedDB 읽기 완료

  25. 25

    c # : 완료되기 전에 특정 시간이 지난 후 비동기 작업 다시 시작

  26. 26

    완료 전에 Nodejs 비동기 호출 드레인 콜백

  27. 27

    읽기 전용 복제본 생성 작업이 완료되고 완료되었는지 확인하는 방법

  28. 28

    읽기 전용 복제본 생성 작업이 완료되고 완료되었는지 확인하는 방법

  29. 29

    콜백이 완료되기 전에 socket.io 함수가 반환 됨-Node.js

뜨겁다태그

보관