gpt4 book ai didi

javascript - hubot 响应回调被调用两次

转载 作者:行者123 更新时间:2023-11-28 06:33:10 24 4
gpt4 key购买 nike

背景

我和我的团队一直在使用 hubot 和 vmware pyvmomi 开发一个自动化项目。我一直试图修复的核心功能之一是创建虚拟机功能。作为一个团队,我们确定希望 hubot 询问用户一系列问题,然后将数据包发送到 REST API我们写。找到我正在处理的 hubot 脚本的分支 here 。我正在处理的具体问题是,随着创建更多虚拟机然后发送多个数据包,创建函数会生成更多响应。我已在存储库的“问题”选项卡中记录了有关该问题的信息。请参阅与发送多个数据包相关的问题。

查看使用 hubot 源代码记录的问题,我发现其他人也很好奇 hubot 是否可以编程为具有对话框(问题 950)。因此,我决定重构创建函数,以便我能够在完成后贡献对话框代码。

问题

重写后(请参阅标记为 refactor-create-vm-function 的分支),我遇到了重复调用问题。我已经发布了a screenshot hubot 响应创建虚拟机消息时的输出。

我认为正在发生的事情是,该函数在传递时被执行一次,然后在实际响应时再次执行。不知道如何防止第一个电话的发生,或者我是否可以阻止它。如果无法防止,那么编写 hubot 对话框有哪些建议?我愿意接受 javascript 和 Coffeescript 建议,因为 hubot 脚本可以是其中之一。

对 javascript(以及与此相关的 Coffeescript)相当陌生,因此我们将不胜感激!

最佳答案

这里的问题不是该方法被重复调用,而是它尝试在没有自身定义的情况下递归。添加对进行递归调用的其他函数作用域的引用应该可以解决问题。

(例如 _this.askQuestion(...) 而不是 askQuestion(...)

关于javascript - hubot 响应回调被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34519368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com