import { defineStore } from 'pinia' import { CloudStoreType } from './index.d' import SocketPlugin from '@/utils/cloud/socket/webSocket.js' export const useCloudStore = defineStore({ id: 'useCloudStore', state: (): CloudStoreType => ({ socket: null }), getters: { getSocket(): Promise { return new Promise((resolve, inject) => { let timeout = setInterval(() => { if (this.socket) { resolve(this.socket) clearInterval(timeout) } }, 100) }) } }, actions: { async createSocket() { let socket = null socket = new SocketPlugin() await socket.connect() this.socket = socket } } })