2016-06-14 9 views
0

私は分度器には初めてです。私は他の分岐が実行されたときprotractor.promise.defer.rejectprotractor.promise.defer.rejectをキャッチすることができません

var action = function(){ 
      var defer = protractor.promise.defer() 
      ASYN_POST(function(result){ 
       if(result){ 
       defer.fulfill(); 
       }else{ 
       defer.reject(new Error('post failure')); 
       }; 
      }); 
      return defer.promise; 
      }; 
it('example', function(done){ 
    action().then(console.log).catch(function(){ 
     console.log('catch you'); 
    }); 
}); 

から例外をキャッチしたいと思い、キャッチ関数が呼び出されますdoesnot。コードを修正するにはどうすればいいですか?おかげ

出力は:

defer.reject(new Error('catch you')); 
         ^
Error: downgrading failure 
    at Request._callback (/vagrant/vosaas438/spec/versions-api.spec.js:93:26) 
    at Request.self.callback (/usr/local/lib/node_modules/request/request.js:199:22) 
    at emitTwo (events.js:87:13) 
    at Request.emit (events.js:172:7) 
+0

コードに誤字があることに注目してください。filfull(); – Xotabu4

+0

はタイプミスを修正しました。ありがとうございます – cppython

+0

あなたはどのくらいの頻度で 'action'と呼んでいますか? 'defer'は[暗黙的にグローバル変数](http://blog.niftysnippets.org/2008/03/horror-of-implicit-globals.html)であることに注意してください。間違いないはずです。 – Bergi

答えて

0

私も.catchとのトラブルを持っていました()。 .then(callbackForSuccess、callbackForReject)に2番目の関数を提供してください。これは拒否のコールバックとしても使用されます。

it('example', function(done){ 
    action().then(console.log, function(){ 
     console.log('catch you'); 
    }); 
}); 
+0

私はこのアプローチを試みましたが、それは私にとってはうまくいきませんでした。 – cppython

関連する問題