0

私は正しいことをしていますが、より広いスコープを持つ変数への割り当ては機能しません。たとえば$.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を非表示にしないことです。しかし、それは私にとって悪いプログラミングスタイルです。コメント?

4

1 に答える 1