2017-05-02 10 views
0

私は約束に慣れようとしています。 My Parse Server環境は常に約束を返しますが、Parse関数と、Parseのやり方に従って作業したい私の独自の関数のいくつかを混在させる必要があります。ここでNodeJS(パーズサーバ)で約束を使用

は私が{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機能をどのように「約束できますか?

答えて

3

約束が下になるように関数の結果を返す必要があります。

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

よく動作します。ちくしょう!! – Taylorsuk

関連する問題