私はこのコードを coffeescript に持っています:
render: (collectionName)=>
console.log "I am rendering"
@buildBreadcrumb(collectionName)
buildBreadcrumb: (collectionName) ->
i=0
_.each @urlParts, (url_part) =>
i++
console.log('value of i : ',i)
collection = @getCollection(collectionName)
if (collection.length == 0)
collection.fetch({
success: (collection) =>
@render()
})
else
@appendBreadcrumb()
そして、時々、次のような出力が得られる理由がわかりません:
I am rendering
value of i : 1
value of i : 2
value of i : 3
/* STRANGE START HERE */
value of i : 2
value of i : 3
フェッチの成功時に @render() を削除すると、この問題はなくなります。_each ループが再び始まるようです...しかし、なぜですか?
@render を "complete" コールバックに設定すると、すべて正常に動作します。
render: (route)=>
console.log "I am rendering"
@buildBreadcrumb()
buildBreadcrumb: ->
i=0
_.each @urlParts, (url_part) =>
i++
console.log('value of i : ',i)
collection = Proscale.Collections.getCollection(collectionName)
collection.fetch({
complete: (collection) =>
@render()
})