我正在使用React(没有SSR)构建应用程序,我想在应用程序初始化中获取服务器时间,并保持该时间与服务器时间同步。有办法吗?
那么这段代码的注释部分会是什么?
api
.fetchTime()
.then(serverTime => {
// Sync client time with serverTime here...
})
.catch(error => ...);
答案 0 :(得分:1)
如果您的意思是客户端应使用与服务器相同的时区,则可以实现返回该时区并从客户端调用该时区的端点。然后,您可以根据获取的时区设置客户的时区(无论如何使用)。
如果要在服务器和客户端之间进行实时通信,则应研究Web套接字。
答案 1 :(得分:0)
您可以计算与您获得的服务器时间和客户端时间的毫秒偏移量。例如(以下代码使用 momentjs
):
const { data: serverTime } = await ServerService.getServerTime();
const computedServerMillisecondsOffset = moment(serverTime).diff(moment());
然后使用 computedServerMillisecondsOffset
将客户端时间与服务器时间同步:
const currentDateTimeMoment = moment().add('milliseconds', serverMillisecondsOffset);