オブジェクト指向の世界でTorrent
、ネットワークをリッスンし、ネットワークとやり取りできるオブジェクトを構築したいとします。EventEmitter を継承し、次のようになります。
var torrent = new Torrent(opts)
torrent.on('ready', cb) // add torrent to the UI
torrent.on('metadata', cb) // update data in the UI
また、次のことを行うこともできます。
torrent.stop()
torrent.resume()
もちろん、トレントをメモリから削除したい場合は、 を呼び出すことができますtorrent.destroy()
。
この OO アプローチの優れた点は、この機能を独自の npm モジュールに簡単にパッケージ化し、徹底的にテストして、クリーンで再利用可能な API をユーザーに提供できることです。
私の質問は、Cycle.js アプリでこれを達成するにはどうすればよいですか?
ドライバーを作成する場合、多くの torrent を作成し、独自の独立したリスナーを作成する方法は不明です。また、他の Cycle.js アプリで他のユーザーが簡単に再利用できるように機能をパッケージ化したいと考えています。