問題タブ [zonejs]

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 に答える
3277 参照

javascript - promise の配列と Promise.all()

次のような Promise の配列があります。

そして、それらすべてを実行して、このようなエラーをキャッチしたい

それは正常に機能していますが、別の約束の then() でそれを行いたいと思っています:

Promise.all() に配列を直接記述している限り、これも問題なく動作しますが、promiseArraydefine を以前のように使用したい場合は、次のようにします。

その後、catch()期待どおりに実行されますが、コンソールにエラーがあります

しかし、Promise をプッシュすることにより、いくつかの条件に従って配列が生成されるため、最後のソリューションを使用したいと考えています。(そして最初の例は問題なく動作していますが、何が違うのかわかりません)

配列に追加するときに各約束にキャッチを追加すると、問題は解決しますが、より良い解決策を見つけたいと思います。

私は本当にそれでいくつかの助けをいただければ幸いです.

PS:何かを変更する場合、zone.jsでangular2を使用しています

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

angular - zone.js が「最大コールスタックを超えました」を返す

angular 2 zone.jsで新しいGoogleマップを作成しようとすると、最大コールスタックを超えています。誰もこれを経験しましたか?

angular2でGoogleマップをロードするときのzone.jsのエラー

マップ コンポーネント:

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

javascript - Zone.js のカスタム エラー ハンドラー

Zone.js を使用しており、キャッチされていない例外のログを設定したいと考えています。次のように、エラー ハンドラを設定できます。

ただし、Promise 内で例外がスローされた場合、これは機能しません。Zone エラー ハンドラーの良いところは、それが Promises にフックされ、それらの例外に対して発火することですが、Zone が作成された後にエラー ハンドラーを実際にオーバーライドまたは追加する方法が見つかりません。ゾーンのプライベート フィールド。

エラーハンドラーを更新するために使用できるゾーン用の実際の API はありますか、またはルートゾーンが構築されているポリフィルを変更するか、プライベートフィールドなどを上書きする必要がありますか?

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

node.js - ノードで zone.js フックを使用する

ノードでangular/zone.jsを使用して簡単なデモを作成しようとしていますが、何らかの理由でbeforeTaskまたはafterTaskが呼び出されていません。

ここに私が実行しているコードがあります:

ゾーン内では、ゾーン名を含むすべてが正常に出力されますが、どちらのフックも呼び出されません。

zone.js + node.js で基本的なものが足りないのですか?

(ノード v5.0.0、zone.js 0.6.23 で実行)

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

angular - 変更検出をトリガーしないAngular 2クリックイベントコールバック

(click)変更検出をトリガーせずに、Angular 2のイベント コールバック関数内でいくつかのロジックを実行しようとすると、大きな問題が発生します。

変更検出をトリガーしたくない理由

コールバック関数は、上への単純なアニメーション スクロールを実行します。他のコンポーネントには影響を与えないため、すべてのコンポーネントで変更検出を起動する必要はありません。実際、起動させたくありません! 変更検出はすべてのコンポーネントで実行されるため、モバイルでのアニメーションのパフォーマンスは非常に低くなります。

私が試したこと

を使用してゾーン外でコードを実行できることを知っています

clickこれは、ゾーンの外で実行したいコードが、keyupkeydownイベントなどによって呼び出されない場合にうまく機能します。

私のコンポーネントは次のように見えるので...

<button (click)="doThing()">Do that thing outside the zone!</button>

...myFunctionゾーン外で実行されますが、clickイベントは変更検出をトリガーします。

OnPush可能な限り多くのコンポーネントに変更検出戦略を既に実装しています。

ここで変更検出がトリガーされないことが重要ですが、それを防ぐ方法が見つかりません。

編集すべてのコンポーネントで変更検出が設定されて いるこのplnkを参照してください。OnPushsubrow コンポーネント ボタンをクリックすると、subrow、row、および app コンポーネントで CD がトリガーされます。