0

コールバックが行われた後、実行が関数に戻らないことを確認する必要があることがよくあります。 私の質問は、これら 2 つのスタイルの効果に微妙な違いはありますか、それともまったく同じですか? :

function myFunction(foo, callback) {
    if(foo) {
      callback(err, true); //Here
      return;              //Here
    }
    bar();
}

と:

function myFunction(foo, callback) {
    if(foo) {
      return callback(err, true); //Here
    }
    bar();
}

編集:申し訳ありませんが、私の質問があまり明確ではないことに気付きました。何が返されるかは気にしない (同期的に消費されないため) 状況について話していますが、コールバック関数が完了した後、関数で実行が継続されないようにするためだけに返されます。 .

4

2 に答える 2

1

それはあなたが何を返したいかによって完全に異なります。

コールバックによって返された値を返したい場合は、2 番目のメソッドを使用します。

于 2013-06-27T06:59:49.817 に答える
1

コーディング スタイルの問題として、関数内で s を回避したい場合return、これは悪いことだと考える人もいます。

function myFunction(foo, callback) {
    if(foo) {
        callback(err, true);
    } else {
        bar();
    }
}
于 2013-06-27T08:06:03.557 に答える