$("#search")
.onAsObservable("keyup change")
.select( (ev) -> $(ev.target).val())
.where( (query) -> query.length > 2)
.throttle(300)
.distinctUntilChanged()
.subscribe((query) -> queryMovie(query).then(updateMovies))
###
lastEvent = {}
currentDisplay = ""
$("#search").on("keyup change", (ev)->
ref = {}
lastEvent = ref
query = $(ev.target).val()
return if query.length < 3
setTimeout( ()=>
return if lastEvent != ref
return if currentDisplay == query
currentDisplay = query
queryMovie(query).then(updateMovies)
, 300)
)
###