問題タブ [yield-keyword]
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.
javascript - どのような場合に yield を使用する必要があり、どのような場合に yield* を Koa.js で使用する必要がありますか?
koa のサンプル、ドキュメント、およびミドルウェアを参照すると、両方の形式yield
が使用されていることに気付きましたが、特に違いはありませんでした。最も極端なケースは koa-mount で、サンプル コードがyield next;
フォームを使用し、パッケージ自体がyield*
数回使用します。他のパッケージ ( koa-viewsなど) もこのyield next
フォームを使用します。
言語で定義されている 2 つの形式の違いは理解していますが、koa のコンテキストでそれらが同じ意味で使用されている理由と、どちらを使用するのが正しいのかはわかりません。
編集 29/5
さらに調査した結果、koa は co の上に構築されており、co は複数のタイプの非同期結果 (サンク、Promises...) を処理できるため、両方が合法である可能性があることを理解していますが、私はまだ各シナリオでどのフォームを使用するかを決定するのにどのガイドラインが役立つかわかりません。
python - Python で yield 関数に括弧が必要ないのはなぜですか?
yield
Python では、ジェネレーターを作成するために使用される関数を何度も見てきました。this とprint
関数はどちらも、技術的にはどちらも値を返すため、メソッドのアクションを実行します。ただし、Python 2 から Python 3 への変更中に、print
関数は通常のメソッド呼び出しのように括弧を取得しましたが、yield は同じままでした。また、は予約済みメソッドの紫ですが、yield
予約済みキーワードは黄色がかった色になります。メソッドと見なされず、括弧構文を使用しないのにこのように色付けされているのprint
はなぜですか?yield
(同様に、なぜ にreturn
も括弧がないのですか?)
いくつか追加させてください。yield と continue には、他の多くの言語でも括弧が付けられていません。予約されている以外に何が違うのか知りたかっただけです。括弧を取得する他の多くの予約済みメソッドがあります。
javascript - javascript でネストされた関数をジェネレーターとして使用する方法 (「内部」yield を使用)
8、偽を返します。次に 6、偽。その後、未定義、真。一方
undefined,true; が 3 回表示されます。
d1 の隠し構造 (内部関数として) が必要なので、最初のサンプルと同じ結果を得るにはどうすればよいですか?
jshint - jshint は、co での yield 後にセミコロンが欠落しているログを記録します
linting に JSHint を使用していますが、yield
ステートメントのジェネレーター内で co を使用すると問題が発生しました: line 18 col 28 Missing semicolon.
.jshintrc ファイルは次のようになります。
どうすれば修正できますか?
python - Python でジェネレーターの新しいインスタンスを作成する
広告を含むページへのリンクが多数あるページをスクレイピングしようとしています。ナビゲートするために現在行っていることは、広告のリストを含む最初のページに移動し、個々の広告のリンクを取得することです。その後、データベースからデータを取得して、リンクをスクレイピングしていないことを確認します。以下のコードは、基本的にすべての href 属性を取得し、それらをリストとして結合します。その後、すでにスクレイピングしたページのデータベースに保存したリンクのリストと照合します。したがって、基本的には、まだスクレイピングしていないリンクのリストが返されます。
そのページのすべてのリンクをスクレイピングすると、次のページに移動します。_scrape_home_urls() を再度呼び出して再利用しようとしました
前もって感謝します。
angular - Angular 2 yield 予約語
A2 メソッドでジェネレーターを使用したいのですが、次のエラーがスローされます: reserved word in strict mode。(問題はyieldステートメントにあります)。
ng2 でジェネレーターを使用するにはどうすればよいですか? 助けてくれてありがとう!
私のコードは次のようになります。