Here's the code:

```
lookup_book = (obj) ->
  $.get '/list_items/retrieve_google_book/' + obj.val() + '/' + obj.attr("id")
  return

delayed_lookup = (obj) ->
  _.debounce(lookup_book(obj), 3000)
  return

$(document).on 'keyup', '.list-item-title', (event) ->
  delayed_lookup($(this))
  return

```

I want lookup\_book and therefore the ajax request to only fire if the user has not typed for 3000ms. Right now it fires as I am typing the letters in the input field, without any sort of delay.

What's going on here? I'm pulling my hairs out.