javascript - 当组件使用 $router.push 渲染时,Promise 无法解决
问题描述
我试图在组件的已安装挂钩内获取套接字 ID。但是当我刷新页面时它可以工作,当用户使用 $router.push() 进入组件时不起作用
getSocketId() {
return new Promise((resolve, reject) => {
debugger;
Echo.connector.pusher.connection.bind('connected', function () {
resolve(Echo.socketId())
});
})
},
mounted(){
this.getSocketId().then((socketId => {
let data = {
data : {
booking_id : this.$route.params.id,
user_id : JSON.parse(localStorage.getItem("app_user_data")).id,
is_active: 1
},
socket_id : socketId
}
this.postUserDataToFirebolt(data)
this.addUserInBooking(data)
}))
}
解决方案
推荐阅读
- powershell - Powershell Foreach-Object -Parallel 如何在循环外更改变量的值(跟踪进度)
- javascript - 在 html 中弹出一个弹出窗口
- python - 在 python 数组中找到由 1 和 0 组成的 1s 组的中点的最佳方法是什么?
- flutter - Flutter 错误:如何将一个小部件类的数据传递给另一个普通类?
- javascript - 更新有关嵌套数组大小的字段
- android - 如何使用 Moshi 处理不同的响应?
- hibernate - Hibernate:子嵌入式实体在合并时得到更新而没有任何更改
- c# - WPF 窗口小于 XAML 中定义的窗口
- reactjs - 带有 react-native 测试库的样式化组件主题
- html-lists - UL LI 怎么去掉padding?