Coffeescript 了解coffescript函数的作用域和返回对象种类-同时尝试获取JSON

Coffeescript 了解coffescript函数的作用域和返回对象种类-同时尝试获取JSON,coffeescript,Coffeescript,我希望broder scope可以看到一些函数getTagsDict(),它将负责向服务器发出一些GET请求并返回字典,然后可以在循环中轻松访问这些函数,如: 用于getTagsDict()的k,v 现在,下面的代码返回一些js垃圾(或者至少对于js新手): 但是,在执行GET时,只要进入调用方法,一切都会正常工作: $ -> $('#ajax_search_input').on 'keyup', (e) -> $.get '/notifications/aj

我希望broder scope可以看到一些函数
getTagsDict()
,它将负责向服务器发出一些GET请求并返回字典,然后可以在循环中轻松访问这些函数,如:

用于getTagsDict()的k,v

现在,下面的代码返回一些js垃圾(或者至少对于js新手):

但是,在执行GET时,只要进入调用方法,一切都会正常工作:

$ ->
    $('#ajax_search_input').on 'keyup', (e) ->
        $.get '/notifications/ajax_avalaible_search_tags/', (data) ->
            for k,v of data
                console.log "#{k} and #{v}"

问题:我应该如何使用coffee的函数来实现全局性和如上所述的使用?

线索是使用异步ajax调用将
getTagsDict
构建为函数。例如,它可以如下所示:

getTagsDict = ->

  strReturn = ""

  jQuery.ajax
    async: false
    url: "/notifications/ajax_avalaible_search_tags/"
    success: (data) ->
      strReturn = data

  strReturn
getTagsDict = ->

  strReturn = ""

  jQuery.ajax
    async: false
    url: "/notifications/ajax_avalaible_search_tags/"
    success: (data) ->
      strReturn = data

  strReturn