私は渡された呼び出しJavascriptコールバック関数を作成しますか?
答えて
:
MyClass.cb = callback;
以降はそれを呼び出す:あなたはまた、あなたのクラスの
メンバーとして登録することができ。この場合は、callback(response)
とします。
var MyClass = {
myMethod : function(params, callback) {
// do some stuff
FB.method: { 'sth.',
'perms': 'sth.'
'display': 'iframe'
},
function(response) {
if (response.perms != null) {
// How to pass response to callback ?
// Easy as:
callback(response);
} else {
// How to pass response to callback ?
// Again:
callback(response);
}
});
}
}
:-)コードそれ厥
MyClass.myMethod("sth.", myCallback);
function myCallback() { // do sth };
var MyClass = {
myMethod : function(params, callback) {
// do some stuff
FB.method: 'sth.',
'perms': 'sth.'
'display': 'iframe'
},
function(response) {
if (response.perms != null) {
// How to pass response to callback ?
} else {
// How to pass response to callback ?
}
});
}
}
今、関数への参照があります。ちょうどそれを呼び出す:
callback(response.perms);
私は、あなたは、単にそこにcallback(response.perms)
を呼び出すことができると思います。あなたがしなければならないのは、通常の方法でコールバック関数を呼び出すです
MyClass.cb(response.perms)
callback.call(null, response);
あなたは近いです...ただ、コールバックを使用します。この例では、クロージャを作成できます。達成する
var MyClass = {
myMethod : function(params, callback) {
// do some stuff
FB.method: 'sth.',
'perms': 'sth.'
'display': 'iframe'
},
function(response) {
if (response.perms != null) {
callback(response);
} else {
// response is null, but you can pass it the same as you did above - if you want to. Probably better to have a generic failure handler
ajaxFailHandler();
}
});
}
MyClass.myMethod("sth.", myCallback);
var myCallback = function myCallback() { // do sth }
var MyClass = {
myMethod : function(params, callback) {
// do some stuff
FB.method: 'sth.',
'perms': 'sth.'
'display': 'iframe'
},
function(response) {
if (response.perms != null) {
callback();
} else {
callback();
}
});
}
}
これを投稿した理由はわかりませんが、あなたはコールバックに 'response'変数を渡していません。 'コールバック(レスポンス);は他の答えに示されているように、そのトリックを行います。 –
三つの方法 "callbackに応答を渡す方法//?" :
callback(response, otherArg1, otherArg2);
callback.call(this, response, otherArg1, otherArg2);
callback.apply(this, [response, otherArg1, otherArg2]);
1は、最も単純である2はあなたのcallbackfunction内部の 'this
' 変数の値を制御したい場合にあり、3はに似ています2であるが、可変数の引数をcallback
に渡すことができます。ここ
はまともなリファレンスです:http://odetocode.com/Blogs/scott/archive/2007/07/05/function-apply-and-function-call-in-javascript.aspx
非常に完全な答え...素敵! –
- 1. カスタムjQuery関数内にコールバック関数を作成します
- 2. Javascriptを - コールバック関数
- 3. パフォーマンスペナルティJavaScriptコールバック関数
- 4. オブジェクトメンバー関数のコールバック? (Javascriptを)
- 5. ではJavaScriptコールバック関数
- 6. Flexのjavascriptコールバック関数
- 7. Javascriptのポリマー - pubnubコールバック関数
- 8. Javascriptモジュールパターン、Ajax関数コールバック
- 9. のJavascriptのコールバック関数
- 10. コールバック関数を作成して変数の値を格納する方法
- 11. jquery関数にajax成功関数のコールバックを追加します。
- 12. コールバック関数を作成する最良の方法
- 13. コールバックのjavascript関数からComponentArt CallBackEventArgsを明示的に渡しますか?
- 14. javascriptグローバルとjqueryコールバック関数でエラーが発生しました
- 15. NodeMCU外部コールバック関数がエラーを生成します
- 16. URLから値を取得し、Javascript関数を作成します。
- 17. Javascript成功コールバック(jquery/backbonejs/parse関数)のスコープに変数を保持する
- 18. Javascript - 値を返すか、コールバック関数を使用する
- 19. ボタンを作成し、JavaScriptのJavaScript関数内
- 20. javascriptコールバック関数内の "this"キーワード
- 21. Javascriptデータ属性の関数名でコールバック
- 22. のNode.js /表現、javascriptのコールバック関数
- 23. javascriptコールバック関数 - 複数の関数が実行されない
- 24. コールバック関数から他のコールバック関数にコールする方法
- 25. クラスメソッド内のajaxポスト関数コールバック関数からjavascriptクラスプロパティを変更する
- 26. javascriptコールバック関数から値を取得する
- 27. Objective-CでのJavascript関数の作成
- 28. JavaScriptコールバック関数のローカル変数を設定する
- 29. JavaScriptをjavascriptから出力してからコールバックを作ります
- 30. これはjavascriptのコールバック関数の例ですか?
だから簡単です。ありがとう – fabian
問題ありません。 :)それを答えとしてマークしてください。 –