Pengaturcaraan tak segerak dalam TypeScript boleh mencabar, terutamanya apabila berurusan dengan konkurensi. Diilhamkan oleh chan Golang, saya mencipta pustaka, @harnyk/chan, untuk membawa kefungsian serupa kepada TypeScript, membolehkan keselarasan yang cekap dan terurus.
@harnyk/chan ialah perpustakaan TypeScript yang meniru mekanisme saluran Golang. Ia membolehkan komunikasi yang selamat dan serentak antara tugas tak segerak, serupa dengan chan Go.
Operasi Saluran Asas:
Lelaran Tak Segerak:
Pilih Pernyataan:
Berikut ialah contoh mudah yang menunjukkan cara menggunakan @harnyk/chan:
import { chan, select } from '@harnyk/chan'; const ch = chan<number>(); // Producer (async () => { for (let i = 0; i < 5; i++) { await ch.send(i); } ch.close(); })(); // Consumer (async () => { for await (const value of ch) { console.log(value); } })();
@harnyk/chan membawa kuasa chan Golang kepada TypeScript, menjadikan pengaturcaraan tak segerak lebih terurus dan cekap. Sama ada anda berurusan dengan aliran kerja async yang kompleks atau hanya memerlukan cara yang lebih baik untuk mengendalikan konkurensi, @harnyk/chan boleh menjadi alat yang berharga dalam kit alat TypeScript anda.
Lihat repositori GitHub untuk lebih banyak contoh dan dokumentasi. Untuk menyelam lebih mendalam, baca catatan blog asal. Selamat mengekod!
Atas ialah kandungan terperinci Melaksanakan chan Golang dalam TypeScript dengan @harnyk/chan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!