0

両方の非同期関数に必要なパラメーターをチェーンするにはどうすればよいですか。

最初の関数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 番目のパラメーターを設定するにはどうすればよいですか?

4

1 に答える 1