Node.js+TypeScriptとbluebird

2019-04-03 09:30:08

 MyDNSの情報取得設定のプログラムが作り終わったので、それをWebAPI化する作業を開始しました。


 以前に作っていたNode.jsでWebAPIを簡単に作成するための自作フレームワークを引っ張り出してきました。その中で非同期処理を簡単にPromise化してくれるbluebirdを使っていたのですが、今更ながら致命的な問題に気がつきました。

 bluebirdでクラスをPromise化するとTypeScriptの型定義が死にます。元々の仕組みが既存のクラスに「~Async」という形で新しいファンクションを追加するものなのですが、そのやり方はTypeScriptでは禁じ手です。もしやるとなるとdeclareで別クラス名を定義し、そこに追加される型を書いていく必要があります。

 とても面倒くさいです。

 ということでbluebirdの使用をやめ、地道にPromiseを書くことにしました。