私はConnectとExpress用のミドルウェアを作成しましたが、そのセットアップ方法にはかなりの労力が必要です。初期化タスクの性質上、これは非同期であるため、初期化が実行された後にのみミドルウェアにアクセスできるという問題があります。
現在、コールバックを使用して解決しました。
function setupMiddleware(callback) {
doSomeAsyncInitialization(function () {
callback(function (req, res, next) {
// The actual middleware goes here ...
});
});
}
これは機能しますが、発信者にとっては良くありません。できる代わりに
app.use(setupMiddleware());
私がしなければなりません:
setupMiddleware(functin (middleware) {
app.use(middleware);
});
今、私はより良いアプローチがあるかどうかを考えていました。たとえば、ミドルウェアをバックグラウンドで初期化し、ミドルウェアの準備ができるまですべての着信要求を遅らせます。
どうすればこれを解決できますか?ここで使用する必要のあるアイデアやベストプラクティスはありますか?