gpt4 book ai didi

pubnub.time() 的 JavaScript 使用 - 代码在设置值之前进行

转载 作者:行者123 更新时间:2023-11-29 22:01:40 25 4
gpt4 key购买 nike

我遇到了一个有趣的问题,让客户端 JavaScript 和 pubnub 的 time() 按照我的意愿行事。

function myFunc(){

pubnub.time(
function(time){
window.timeNow = parseInt(time / 10000000)
}
)

pubnub.publish({
'channel' : "someChannel"
'message' : "json" + window.timeNow + "more-json"
})

}

此代码每 NN 秒调用一次。

  • 第一次调用此代码时发送未定义的 timeNow。
  • 此代码的下一次调用发送 timeNow 与上次一样!
  • 下次调用此代码时会发送 timeNowas 之前的时间....

pubnub.time()正在做正确的事情,但代码继续执行并执行 pubnub.publish()之前 pubnub.time()有时间设置当前时间值。

有没有办法解决这个问题。 ...无需创建人工 sleep (3000) 使其有时间返回。

而且我无法对 timeNow = timePrevious + NN 进行脏修复因为它并不总是相同的 NN。真可惜;)

背景是我想检查消息是否及时到达我的服务器,所以我使用 pubnub.time()在两端和比较:

if (message-timestamp - current-time > a few seconds): # ignore this message as too old

我不能依赖客户端时间与世界同步,我确实需要它几秒钟,这就是我在两端使用 pubnub.time() 的原因。

最佳答案

只需将 pubnub.publish 放在 pubnub.time 中:

function myFunc(){

pubnub.time(
function(time){
window.timeNow = parseInt(time / 10000000)
pubnub.publish({
'channel' : "someChannel"
'message' : "json" + window.timeNow + "more-json"
})
}
)

}

我这样,publish 步骤只会在 window.timeNow 设置后运行。

关于pubnub.time() 的 JavaScript 使用 - 代码在设置值之前进行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23408980/

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