1

各オブジェクトのオブジェクト呼び出しの配列を非同期メソッドに渡すメソッドがあります。

function method(objs){
  for(obj in objs){
    obj.asyncMethod()
  }
}

私はすべての関数が値を返す必要があるという考えを持っていますが、この場合、値は async メソッドの結果に基づいている必要があるため、まったく不可能です。

値を返さないのは悪い習慣ですか (特にライブラリで)?

はいの場合、解決策はありますか?

4

2 に答える 2

2

関数は、値を返す必要がある場合にのみ値を返す必要があります。何も返さない関数を書くことには何の問題もありません。

あなたの他の質問に答えるには:いいえ、本質的にmethod非同期メソッドが実行される前に関数が返されるため、これに対する解決策はありません。

あなたは何を返しますか?コードはそのforループ内で n 回繰り返されるため、どれを返すかをどうやって知るのでしょうか?

于 2013-01-06T18:12:17.723 に答える
2

非同期操作の値を返さないことは悪い習慣ではありません。コールバック関数を引数として受け入れます。コールバックを引数として受け入れるメソッドを持つ node.js には、かなりの数の組み込みライブラリと外部ライブラリがあります。

于 2013-01-06T17:53:18.727 に答える