2016-09-16 6 views
0

オブジェクトにコールバック関数を格納し、オブジェクトから取得してコールバックコールバックを格納できるかどうかを示します。オブジェクトにコールバックを格納する

var myArray = []; 

function myFoo(myCallback) 
{ 
    var obj = new Object(); 
    obj.call_back = myCallback; // Store in object 

    myArray.push(obj); // Add in array 
} 

function doSomething(results) 
{ 
    for(var index=0;index < myArray.length;index++) 
    { 
     var obj = myArray[index]; 
     if(obj.hasOwnProperty("call_back")) 
     { 
      var callbackMethod = obj.call_back; 
      callbackMethod(results); // Call callback 
     } 
    } 
} 

実装するのは有効ですか?

+0

はい、できます。 – Satpal

+0

はい。可能です – Beginner

+0

私はかなり[これは複製です](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call)です。 – evolutionxbox

答えて

0

はい、有効です。しかし、これらのオブジェクトやコールバックだけに、より多くの情報を格納したいのですか?コールバックだけが配列のままで保存することができます。

var myCallbacks = []; 

function myFoo(myCallback) { 
    myCallbacks.push(myCallback); 
} 

function doSomething(results) { 
    var index; 

    for(index = 0; index < myCallbakcs.length; index++) { 
    myCallbacks[index](); 
    } 
} 
関連する問題