2017-05-02 1 views
0

나는 Promises에 익숙해 지려고합니다. My Parse Server 환경은 항상 약속을 반환하지만 Parse 함수와 Parse 방식에 따라 작업하고 싶은 자체 함수 중 일부와 혼합해야합니다.NodeJS (Parse Server)에서 약속 사용

여기이 나는 {code: 107, message: "The server returned an invalid response."} 오류가 무엇입니까의 끝에서 내 코드

savePrescription(user, prescription) 
    //Returning an object (working!) to be passed to the next function. 
     .then(function(savedProgData) { 
      console.log(savedProgData) <-- undefined! 
      getSavedData(savedProgData) 
     }) 
     .then(function(savedIds) { 
      console.log(savedIds); <-- undefined! 
      sendClientProgrammes(savedIds) 
     }) 
     .then(function(returnedData) { 
      console.log(returnedData); 
      response.success(); 
     }, function(err) { 
      response.error(err); 
     }) 

    function sendClientProgrammes(savedIds) { 
     console.log('running send client programmes'); 
     return new Promise(function(resolve, reject) { 
      return resolve(); 
     }) 
    } 

    function getSavedData(savedProgData) { 
     console.log('running getSavedData'); 
     return new Promise(function(resolve, reject) { 
      var savedIds = []; 
       for(var i = 0; i < savedProgData.length; i++) { 
        savedIds.push(savedProgData[i].id) 
       } 
       if(savedIds.length > 0) { 
        console.log(true); 
        return resolve(savedIds); 
       } else { 
        reject(); 
       } 
     }) 
    } 

입니다.

내 표준 JS 기능을 'promisfy'할 수 있습니까?

답변

3

약속 결과가 전달되도록 함수 결과를 반환해야합니다.

.then(function(savedProgData) { 
    return getSavedData(savedProgData) 
}) 
+0

잘 작동합니다. 하느님 젠장 !! – Taylorsuk