Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js nodejs上的coffeescript中我的Hubot适配器的奇怪行为_Node.js_Coffeescript_Hubot - Fatal编程技术网

Node.js nodejs上的coffeescript中我的Hubot适配器的奇怪行为

Node.js nodejs上的coffeescript中我的Hubot适配器的奇怪行为,node.js,coffeescript,hubot,Node.js,Coffeescript,Hubot,我正在为我的公司聊天系统开发Hubot适配器。下面代码的输出非常令人惊讶,我不知道下一步该怎么做。没有运行时错误(据我所知) 输出: connect console DEBUG connect logger posted console 代码: 如果希望@在回调函数内部与外部相同,请使用以下命令定义回调: 请记住,(Coffee | Java)脚本函数中的@(也称this)取决于函数的调用方式,而不是函数的定义方式或定义位置(当然,除非有绑定函数…)。如果您使用=>定义函数,那么它将绑定到当前

我正在为我的公司聊天系统开发Hubot适配器。下面代码的输出非常令人惊讶,我不知道下一步该怎么做。没有运行时错误(据我所知)

输出:

connect console
DEBUG connect logger
posted console
代码:


如果希望
@
在回调函数内部与外部相同,请使用以下命令定义回调:

请记住,(Coffee | Java)脚本函数中的
@
(也称
this
)取决于函数的调用方式,而不是函数的定义方式或定义位置(当然,除非有绑定函数…)。如果您使用
=>
定义函数,那么它将绑定到当前
@
@logger
,并且
@jsonClient
将是您期望它们在回调中的位置

您还可以使用:


如果您想要本机解决方案。

有什么令人惊讶的?没有
@logger.debug“发布的记录器”
输出?调用其回调时,
@jsonClient.post
使用什么上下文?@muistooshort是的,这让我感到惊讶。事实上,这个例子被简化了。实际上,我想在延续中进行另一个http调用,但似乎什么也没发生。上下文不知道。我在本地类的ctor中实例化jsonClient——这是否回答了问题?
connect: ->
  console.log 'connect console'
  @logger.debug 'connect logger'

  @jsonClient.post 'Route/WebService/Json/Login', loginRequest, (err, res, body) ->
    console.log 'posted console'
    @logger.debug 'posted logger'
@jsonClient.post 'Route/WebService/Json/Login', loginRequest, (err, res, body) =>
  #...
callback = (err, res, body) ->
  console.log 'posted console'
  @logger.debug 'posted logger'

@jsonClient.post 'Route/WebService/Json/Login', loginRequest, callback.bind(@)