さて今日は
- 怖話中で指定の画像が無い場合に背景がなくなる
をやっていた.
2つ詰まったところがあって,
1つは配列の要素それぞれを使ってajax通信した後に通信結果を使って元の配列を変更したい場合, 例えば次のように書くと
foos = ['a', 'b', 'c']
for foo, idx in foos
$.ajax
type: 'get'
url: '/bar'
success: ->
foos[idx] = foo + 'baz'
全てのsuccess呼び出し内でidx = 2
, foo = 'c'
となってしまうやつ. これは
foos = ['a', 'b', 'c']
for foo, idx in foos
((foo, idx) ->
$.ajax
type: 'get'
url: '/bar'
success: ->
foos[idx] = foo + 'baz'
) foo, idx
みたいに予め適用しといてやるとよさげ.
もう1つは,
class Klass
prop: 'foo'
proc1: ->
pr2 = @proc2
$.ajax
type: 'get'
url: '/bar'
success: ->
pr2()
proc2: ->
console.log @prop
ってやるとsuccessの中のpr2の中で@propがundefinedになるやつ. これは単純に
proc2: =>
console.log @prop
と, fat arrow使えばおーけー, 多分.