NodeJS Zappa在调用函数中使用@response, @request



我可以这样做:

require('zappajs') ->
    @get '/':-> console.log(@response)

但是当我尝试这个

require('zappajs') ->
    @get '/': -> foo()
    foo = ->
      console.log(@response)

@response未定义。所以很明显"this"已经超出了范围。我尝试使用=>函数定义而不是->,这意味着通过"这个"…但这没什么区别。我可以使用@helper

实现所需的结果
require('zappajs') ->
    @get '/':-> @foo()
    @helper foo: ->
        console.log(@response)

这是唯一的方法吗?

当你像foo()那样调用你的函数时,你失去了作用域,为了保持作用域,你必须像那样调用foo:

foo.apply(this)foo.call(this)

相关内容

  • 没有找到相关文章

最新更新