両方の非同期関数に必要なパラメーターをチェーンするにはどうすればよいですか。
最初の関数fs.readFileは、ファイルの内容をコールバック関数で 2 番目のパラメーターとして返します。
マークされた 2 番目の関数は、この内容を最初のパラメーターとして必要とします。2 番目のパラメーターはオプションであり、オプション オブジェクトにすることができます。3 番目のパラメーターは、変換されたコンテンツを 2 番目のパラメーターとして提供するコールバックです。
現在、私はこのコードを試しました:
var readFile = q.nfbind(fs.readFile);
var md = q.nfbind(marked);
readFile(fileName, 'UTF8')
.then(md)
.then(function (html) {
res.setHeader('Content-Type', 'text/html');
res.setHeader('Content-Length', html.length);
res.status(200);
res.end(html);
})
.catch(function (error) {
res.setHeader('Content-Type', 'text/plain');
res.send(500, 'server error: ' + error);
res.end();
})
.done();
しかし、マークされた関数は、コールバック関数を 3 番目のパラメーターとして呼び出したときに 2 番目のパラメーターを必要とするため、機能しません。マークされた関数を正しく呼び出すために、2 番目のパラメーターを設定するにはどうすればよいですか?