私は正しいことをしていますが、より広いスコープを持つ変数への割り当ては機能しません。たとえば$.each(...)で機能したので、間違って、ここでも機能すると思いました。
var outee = null;
$.ajax({
url: "http://...",
dataType: 'jsonp',
...
}).done(function (stuff) {
// works well
displayThe(stuff);
// works well (but targets probably a global outee)
outee = stuff;
displayThe(outee);
});
// fail due to outee being nada, nicht, zilch etc.
displayThe(outee);
匿名関数の範囲外で使用するために、それを取得したメソッドに保存するにはどうすればよいですか?
done内 の割り当てがグローバルなouteeを参照していると仮定するのは正しいですか? 私の問題を解決する 1 つの方法は、宣言によってグローバルなouteeを非表示にしないことです。しかし、それは私にとって悪いプログラミングスタイルです。コメント?