2017-12-22 40 views
-1

Iオブジェクト(myObject)があります。この目的のために、私は約束約束を方法として使用するには?

を返すメソッド(objectPromise)
function myObject(){ 
    this.number = 2; 
    this.objectPromise = function(data) { 
     return new Promise((resolve, reject) => { 
      if (data == this.number) { 
       resolve(); 
      } else { 
       reject(); 
      } 
     }); 
    }; 
}; 

を作成し、私はこのコード1を有する)

obj = new myObject(); 
myPromise1 
.then(obj.objectPromise) 
.then(function(result){ 

}) 
.catch(function(err){ 

}); 

2)

obj = new myObject(); 
myPromise1 
.then(function(result){ 
    obj.objectPromise(result) 
}) 
.then(function(result){ 

}) 
.catch(function(err){ 

}); 

Iはなかったの理由を理解していない1)は私の約束を呼び出さない

+0

これはかなり不明です。 'objectPromise'は約束を返す関数です - あなたが意図したものですか?ここで何を達成しようとしていますか? –

+0

あなたは '(obj.objectPromise)'を意味しましたか?とにかく、コードはどこにでもあります。 1つは、「this.data」は存在しません。また、あなたは他の 'に'何も返されていません。 – Li357

+0

申し訳ありませんが私は間違いを犯しました。はい、それは約束を返しますが、私が理解できなかったのは、objectPromiseがObjectメソッドではないということです.2) –

答えて

0

1)の場合、この行は.then(obj.objectPromise)という関数で返されているため、約束自体ではなく、実際には呼び出されません。 1に基づいて

2)、およびmyPromise1は私が正しく問題を理解していれば、私はあなたがの線に沿ってより多くの何かを探していると思う、resultを返している場合:

obj = new myObject(); 
myPromise1 
    .then((result) => 
    obj.objectPromise(result) 
     .then((res) => { 
     console.log('objectPromise success code here') 
     }) 
     .catch((err) => { 
     console.log('objectPromise fail code here') 
     })) 
    .catch((err) => { 
    console.log('myPromise1 fail code here') 
    }); 
関連する問題