【发布时间】:2022-10-06 01:08:49
【问题描述】:
我正在使用 Gametime.js 进行实时世界聊天。
消息存储在数据库中。
Gametime.js 使用 PubNub,出于某种原因,PubNub 需要将消息发送两次,所以它确实做到了。
如何使函数运行两次?
我试过这个:
for (let i = 0; i < 2; i++) { gametime.run("msg", [msg]) }
它有效,只是我经常在我的脚本中这样做,所以有没有办法在没有 for/while 循环的情况下做到这一点?
这是我想要实现的示例:
// inline code, cannot run for loop right here
function example(msg) { doSomething(), doSomethingElse, {{run twice}}, done() }
【问题讨论】:
-
弄清楚为什么需要发送两次消息,而不是试图解决实际问题。
-
出于任何 PubNub 目的,没有理由两次运行该函数。好奇地了解实际问题。
-
我在您的代码 sn-p 中没有看到任何 PubNub API。你能分享一下 PubNub 代码吗?
-
@CraigConover Gametime.js 使用内置的 PubNub。在控制台中(在我的任何游戏或聊天室中)它会在消息之间给我一个错误:
Error: PubNub call failed. Check status for details。间隔是 12 小时还是 1 秒并不重要,它只是不会发送两次。这就是为什么我需要运行它两次,这样我才能确保其他人能够真正得到消息。出于调试目的,脚本是正确的here。 -
很酷,无法提供任何见解,但这是不正常或预期的。绝对是客户端的东西。如果您enable PN SDK logging 并复制并将其发送到 [PN 支持](support@pubnub.com),我们可能会弄清楚(它是免费的,我们会很乐意知道是什么原因造成的 - 可以打赌它是'不是 PN SDK 或网络,只是一些微妙的东西)。
标签: javascript function loops pubnub