3

node.js でのコールバックの使い方がよくわかりません。あなたが次のようなものを持っている場合、私はそれを理解しています

result = db.execute(query);
doSomething(result);

結果の準備が整う前に doSomething が実行されるため、doSomething をコールバックにする必要があります。db 操作はコストがかかる可能性があるため、これは理にかなっています。

今、私は次のようなものを持っているとしましょう

result = calculate(x,y)
doSomething(result)

calculate のコストが高くない (つまり、データベースからの読み取りや I/O がない) 場合、まだコールバックを使用する必要がありますか? 次の行が実行される前または後に関数が完了するかどうかを確認するにはどうすればよいですか?

ありがとう

4

1 に答える 1

9

つまり、関数が非同期関数を呼び出している場合 (I/O 操作やデータベース呼び出しなど)、それらの呼び出しの結果を関数の呼び出し元に提供できるように、関数はコールバック パラメーターを受け入れる必要があります。関数が同期呼び出しを行っているだけの場合、関数も同期的であり、コールバック パラメーターは必要ありません (2 番目の例の場合と同様)。

于 2012-09-20T16:50:05.940 に答える