簡體   English   中英

有什么方法可以保證單邊消息,例如工作程序消息或WebSocket消息?

[英]Is there any way to Promisify Unilateral Messages such as Worker Messages or WebSocket Messages?

有什么方法可以保證單邊消息,例如工作程序消息或WebSocket消息?

我想將套接字消息和輔助消息轉為Promises(如果可能)。 有什么辦法嗎? 如:

myWebWorker.postMessage( 'someMessage')。然后,()...

也許通過訂閱某種總線,或者通過使用Observables? 似乎Vue.js使用vue-worker可以提供類似的功能。 https://alligator.io/vuejs/vue-workers/ )他們是如何做到的? 它僅適用於嵌入式WebWorkers嗎? 如果可以的話,我想使用一個外部文件。 我也希望能夠對來自服務器的套接字消息執行相同的操作。 例如:

socket.sendMessage( 'someMessage')。然后,()...

有任何想法嗎?

使用promise構造函數可解決onmessage回調。

 const sendMessage = (socket, message) => new Promise((resolve,reject) => { const handleRes = (e) => { resolve(e) socket.removeEventListener('message', handleRes) } const handleRej = (e) => { reject(e) socket.removeEventListener('error', handleRej) } socket.addEventListener('message', handleRes) socket.addEventListener('error', handleRej) socket.send(message) }) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM