【问题标题】:NodeJS Zappa using @response, @request in called functionsNodeJS Zappa 在被调用函数中使用@response、@request
【发布时间】:2013-03-08 11:25:31
【问题描述】:

我可以这样做:

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)

这是唯一的方法吗?

【问题讨论】:

    标签: node.js function scope zappa


    【解决方案1】:

    当你像foo()那样调用你的函数时,你正在失去作用域,要保持作用域,你必须像这样调用foo

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

    【讨论】:

      猜你喜欢
      • 2023-01-23
      • 2019-05-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2018-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多