请问下面两种方式哪个效率高?(websocket 推送频率很高)
Vue.prototype.$priceWs = new ReconnectingWebSocket('ws_url')
#1
// main.js
vm.$priceWs.onmessage = function incoming(message) {
vm.$emit('spotOnMessage', message)
}
// comp.vue
this.$root.$on('spotOnMessage', this.messageHandler)
#2
// main.js
vm.$priceWs.onmessage = function incoming(message) {
store.dispatch('spotOnMessage', message)
}
// comp.vue
{
computed: {
...mapGetters(['message']})
},
watch: {
message(msg) {...}
}
}
理论上没区别,两种方法只是响应数据时有一点不同,大部分消耗其实在 DOM 变化上。