問題タブ [deferred-execution]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
351 参照

c# - 非汎用バージョンのIEnumerableは、遅延実行をサポートしていますか?

もしそうなら、それはどの.NET Frameworkバージョンでサポートされていますか?

これを.NETFramework4.0でテストしましたが、正常に動作します。

0 投票する
2 に答える
120 参照

c# - これら2つのlinq実装の違いは何ですか?

JonSkeetのReimplemntingLinqtoObjectsシリーズを実行していました。whereの記事の実装で、次のスニペットを見つけましたが、元のメソッドを2つに分割することで得られる利点がわかりません。

元の方法:

リファクタリングされた方法:

ジョンは言います-それは熱心な検証のためであり、それから残りの部分のために延期します。でも、わかりません。

誰かがそれをもう少し詳しく説明してもらえますか、これら2つの機能の違いは何ですか、そしてなぜ検証が一方で実行され、もう一方では熱心に実行されないのですか?

結論/解決策:

どの関数がイテレータージェネレーターであると判断されるかについての理解が不足していたため、混乱しました。IEnumerable<T>のようなメソッドのシグネチャに基づいていると思い ました。しかし、答えに基づいて、今私はそれを理解しました、それがyield ステートメントを使用する場合、メソッドはイテレーター-ジェネレーターです。

0 投票する
2 に答える
513 参照

vb.net - VB.NET での遅延実行?

上記のコードでは、接続が利用できないときに LoadData 関数を再帰しようとしています。利用可能になったときにロードを延期したいと考えています。

問題は、ラムダ式で param を使用できないためByRef上記のコードによってコンパイラ エラーが発生することです。

これを正しい方法で行う方法はありますか?

0 投票する
1 に答える
72 参照

python - パッケージ化された関数が遅延ライブラリでアクセスできる情報はどれくらいですか?

関数を延期していくつかの引数を渡すと、関数はそれらの引数を持ち、それらを操作できますが、インスタンス化されたオブジェクトの一部である関数 (たとえば) は、そのオブジェクトの変数にアクセスできますか?

基本的に、引数として必要なすべての情報を関数に与える必要がありますか?
また、それへの唯一の参照が遅延関数にある場合、baz は破棄されますか?

0 投票する
2 に答える
1141 参照

objective-c - Objective-C で Go から 'defer' ステートメントを実装していますか?

今日、私deferは Go 言語のステートメントについて読みました:

deferステートメントは、関数呼び出しをリストにプッシュします。保存された呼び出しのリストは、周囲の関数が戻った後に実行されます。Defer は、さまざまなクリーンアップ アクションを実行する関数を単純化するためによく使用されます。

このようなものを Objective-C で実装するのは楽しいだろうと思いました。それを行う方法について何か考えがありますか?ディスパッチ ファイナライザー、自動解放オブジェクト、および C++ デストラクタについて考えました。

自動解放されたオブジェクト:

現在のスコープが終了すると他のソリューションがトリガーされるため、自動解放されたオブジェクトは、少なくとも関数の最後まで続く唯一のソリューションのようです。一方で、それらは記憶にずっと長くとどまる可能性があり、これは問題を引き起こします.

ブロックはスタック上に存在するため、スタックがアンロールされたときに何かを簡単に実行できるため、ディスパッチ ファイナライザーが最初に考えられました。しかし、ドキュメンテーションをのぞいてみると、単純な「デストラクタ」関数をブロックにアタッチできるようには見えませんよね?

C++ デストラクタもほぼ同じです。デストラクタの実行時に実行されるブロックを含むスタック ベースのオブジェクトを作成します。.mこれには、プレーンファイルを Objective-C++ に変換するという醜い欠点がありますか?

このようなものを本番環境で使用することについてはあまり考えていません。さまざまなソリューションに興味があるだけです。明らかな欠点なしで、機能するものを思いつくことができますか? 範囲ベースのソリューションと機能ベースのソリューションの両方が興味深いでしょう。

0 投票する
1 に答える
149 参照

.net - 複数のIEnumerableを同時に反復処理するにはどうすればよいですか?

IEnumerable<T>多くの要素を持つ2つ(またはそれ以上)があると仮定します。すべてIEnumerableに別のタイプがありTます。リストは非常に長くなる可能性があるため、メモリに完全にロードしないでください。

私がやりたいのは、これらのリストを繰り返し処理し、最長または最短のリストの最後に到達するまで、ステップごとに1つのint、1つの文字列、および1つのDateTimeを含むアイテムを取得することです。両方のケースをサポートする必要があります(bool param longest vs. shortestなど)。短いリストで利用できないすべてのアイテムについて(すでに終わりに達しているため)、デフォルト値を期待します。

遅延実行を使用してlinqでこれを行うことは可能ですか?IEnumeratorsをyieldreturnと直接組み合わせて使用​​するソリューションを知っています。.NET2で2つのIEnumerableを同時に反復処理する方法を参照してください。

0 投票する
1 に答える
147 参照

.net - IEnumerable の再利用.Any() などで false の結果になる

私は延期された実行の土地で少し迷っています:

IEnumerable 実装クラスのインスタンスを宣言します

次に、それを繰り返します(最初の単語は「Lorem」です)

.. コンソールに書き込まれます。

その後、コードで私は

..出力として False を取得します。

ここで、.Any(..) 部分を foreach ループの上に置くと、true になりますが、ループは 2 番目の単語から始まります。

私の期待は、.NetがIEnumerableとその基礎となるIEnumeratorへの呼び出しごとに異なるランタイム「コンテキスト」を作成するため、それらが干渉しないことでした...適切な結果?

ここで何が欠けていますか?

更新

.. 基本的には、特定の文字列内の単語を反復処理できる IEnumerable です。

0 投票する
4 に答える
2130 参照

javascript - ドキュメントの準備ができるまで、外部スクリプトからの document.write を遅らせる/遅らせる

広告を読み込む外部スクリプトがあります。ロード中のスクリプトには、への呼び出しが含まれていますdocument.write。問題は、これによりドキュメントのサイトへの準備が遅れることです。ドキュメントの準備が整うまで、これを表示するのを遅らせたいと思います。

現在、外部コンテンツをロードする関数を jquery doc の準備ができている状態でラップしようとしましたが、ページが爆発します。広告といくつかのコードだけが表示された真っ白な画面になります。

これは明らかに、ページが読み込まれた後に document.write が実行されているためです。これを回避する方法や、ドキュメントの準備が整うまで外部コンテンツの読み込みを遅らせる方法を知っている人はいますか?

0 投票する
11 に答える
124715 参照

javascript - 正確にはどのように