0

これは簡単なはずだと思いますが、私の人生ではそれを行う方法を見つけることはできません.

複数の製品を実行する each ループがあり、それぞれに対して関数を実行します。この関数は、とりわけ、製品の情報でテーブルを更新します。ただし、次の製品に移動して関数を再度実行する前に、「runThisFunction()」が完了するまで待つ必要があります。

例えば;

$.each(data.products, function(id, v) {
    runThisFunction(v);
});

runThisFunction() の内部では、製品に関する情報を LocalStorage データベースから取得しますが、非常に高速に実行されるため、必要な作業が完了する前に次の製品に移動します。遅延を追加することはできますが、意図的に遅くしたくありません。

私はこれが簡単であることを知っています...

4

2 に答える 2

0

queue()jQueryの機能を見てみましょう。http://api.jquery.com/queue/

別の有用な情報源: jQuery のキューとは?

于 2013-07-25T12:12:11.570 に答える
0

前述のとおり、runThisFunction() のさらに下では、製品の LocalStorage データにアクセスしていました。

多くのデバッグの後、SQL ステートメント変数が定義されている場所を db.transaction 関数の外側から内側に移動することで問題が修正されました。

これがコードのさらに上に影響を与えていた理由はよくわかりませんが、$.each 内の関数が同期的に起動しないという問題は修正されました。

于 2013-07-25T14:23:56.453 に答える