gpt4 book ai didi

javascript - Socket.io 和本地存储

转载 作者:太空宇宙 更新时间:2023-11-04 00:19:44 25 4
gpt4 key购买 nike

我使用socket.io和node制作了一个聊天应用程序。

  • 场景 - 现在需要在套接字断开连接(发出断开连接事件)之前将消息存储到浏览器的 localStorage 中,并在用户重新连接后将数据获取/同步到该本地存储。
  • 问题- 但问题是,如果我从“断开连接”处理程序内部向客户端发出一些事件,并在客户端处理程序内部处理该事件 localStorage.setItem('msgText', msg) 。它没有保存到本地存储。(因为断开事件客户端已经断开连接)

  • 二手node-localstorage模块在浏览器本地存储中设置数据,当用户登录时绘制 View ,但不将数据保存到浏览器本地存储中

const LocalStorage = require('node-localstorage').LocalStorage
let localStorage = new LocalStorage('./scratch')
localStorage.setItem('name_test', 'tom')
console.log(localStorage.getItem('name_test'))

有什么建议吗?如何解决这个场景/问题是最受赞赏的?

最佳答案

当您触发 disconnect 事件时,您可以在之前设置本地存储。如果我理解正确,我相信下面的示例应该适合您

function disconnectUserFromChat() {
return new Promise(function(resolve, reject) {
try {
localStorage.setItem('key', 'Value')
resolve()
} catch(error) {
reject(error)
}
})
})

disconnectUserFromChat()
.then(function() {
socket.on('disconnect', function() {
console.log('Disconnected')
})
})

关于javascript - Socket.io 和本地存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44879008/

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