0

ローカルの sqlite または ajax リクエストから何かを取得しようとすると、値が返されないため、コールバックを実行する必要があります。

いくつかのデータを取得して処理するかなり大きな関数がありますが、それをループに入れて、終了するまで保持する必要があります。内部コールバックが実行される前に関数が終了するため、そのように達成することはできません。コールバックにその関数を再度実行させることはできますが、メモリを消費しませんか? それとも、親関数が終了し、内部変数とオブジェクトが破棄されたためではないでしょうか?

私の英語でごめんなさい。

4

1 に答える 1

0

私が正しく理解していれば、複数の未解決のコールバックを作成するループで繰り返したい関数にコールバックを渡すプロセスがあります。

これに対する解決策は、コールバックの数を保持し、それぞれが呼び出されるたびに減少させることです。カウンターがゼロになったら、最終処理を行います。

カウンターを 1 から開始し、すべてのコールバックが渡されたらカウンターをデクリメントして、カウンターが早期にゼロにならないように注意してください。

于 2012-04-05T22:18:04.600 に答える