TypeScript 中的非同步程式設計可能具有挑戰性,尤其是在處理並發時。受到 Golang chan 的啟發,我創建了一個庫 @harnyk/chan,為 TypeScript 帶來類似的功能,從而實現高效且可管理的並發性。
@harnyk/chan 是一個模仿 Golang 頻道機制的 TypeScript 函式庫。它允許非同步任務之間進行安全、並發的通信,類似於 Go 的 chan。
基本通路操作:
非同步迭代:
選擇語句:
這是一個簡單的範例,示範如何使用@harnyk/chan:
import { chan, select } from '@harnyk/chan'; const ch = chan(); // Producer (async () => { for (let i = 0; i { for await (const value of ch) { console.log(value); } })();
@harnyk/chan 將 Golang chan 的強大功能引入 TypeScript,使非同步程式設計更加易於管理和高效。無論您是處理複雜的非同步工作流程還是只是需要更好的方法來處理並發,@harnyk/chan 都可以成為 TypeScript 工具包中的一個有價值的工具。
請參閱 GitHub 儲存庫以取得更多範例和文件。如需更深入的了解,請閱讀原始部落格文章。快樂編碼!
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3