0

の構文について助けが必要node.js promisesです。node.jsq というモジュールの readme にhttps://github.com/kriskowal/qと書いてあるのがよくわからない。

なぜ彼らはいつもreturn前に書くのpromiseですか?

return Q.fcall(eventualAdd, 2, 2);

コールバックを使用して非同期関数を返す関数にするにはどうすればよいpromiseですか? 私は試します

function doThis(a,b, callback) { var result = a+ b; setTimeout( callback, 2000, result);}
Q.ncall(doThis, 2,3).then( function(result) { alert(result); });

2000 年以降は 5 で警告する必要があると思いますが、何も起こりません。

4

1 に答える 1

1
  1. その理由は、その場合、現在の関数の呼び出し元に promise を返したいからです。

  2. 私は自分のプログラムでこれを行いましたが、次のように行われます。

    • Q.ncall([function], [this], [arguments,...])まず、 の 2 番目の引数が であることに注意してくださいthis
    • Q.ncall2 番目に、指定された関数に対して によって指定されたコールバックへの引数は、他のすべての node.js コールバックと同じであるため、成功時にエラーとして(error, result)コールバックを指定する必要があることに注意してください。null

      var Q = require('q');
      
      function doThis(a,b, callback) { 
        var result = a + b;
        setTimeout(function () { callback(null, result) }, 2000);
      }
      
      Q.ncall(doThis, null, 2, 3).then(function(result) { console.error(result); });
      
    • このコードは、説明どおりに機能します。違いに注意してください。

于 2012-05-18T00:09:55.583 に答える