2017-11-29 4 views
0

私はフロントエンドからParseクラウドメソッドを呼び出していますが、予想されるテスト戻り値 "123"ではなく、空の配列を受け取ります。Parseファンクション空のプロミスを返す

このメソッドは、「promiseArray」という文字列「123」という配列にプッシュします。フロントエンドは、受信している "[]" ではなく "[" 123 "]"

コード(関連性のために減少):

Promise.all(promiseArray).then(values => { 
    res.success(values); 
}); 

を送信するには:

Parse.Cloud.define('newReport', function(req, res) { 

try{ 

for (let i = 0; i < fEPath.length; i++) { 

    let outputPart; 

    switch(fEPath[i].elementName){ 

    case 'testOutput': 
    promiseArray.push(
     "123" 
    ); 
    break 

    } 
} 

我々は構文を使用しますアレイをフロントエンドに戻します。

+0

fEPath [i] .elementName === 'testOutput'を確認しましたか?これにより、値 "123"が配列 –

+0

にプッシュされない可能性があります。 'newReport'がおそらく実行される前に' Promise.all(promiseArray) 'を実行していますか?あなたのコードは、この 'newReport'が使われる場所を表示しません –

答えて

0

戻り値はPromiseオブジェクトである必要があります。試してみてください:

case 'testOutput': 
    promiseArray.push(
     new Promise(
      function (resolve, reject) { 
       resolve("123") 
      } 
     ) 
    ); 
break 
関連する問題