問題タブ [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.
javascript - promise の配列と Promise.all()
次のような Promise の配列があります。
そして、それらすべてを実行して、このようなエラーをキャッチしたい
それは正常に機能していますが、別の約束の then() でそれを行いたいと思っています:
Promise.all() に配列を直接記述している限り、これも問題なく動作しますが、promiseArray
define を以前のように使用したい場合は、次のようにします。
その後、catch()
期待どおりに実行されますが、コンソールにエラーがあります
しかし、Promise をプッシュすることにより、いくつかの条件に従って配列が生成されるため、最後のソリューションを使用したいと考えています。(そして最初の例は問題なく動作していますが、何が違うのかわかりません)
配列に追加するときに各約束にキャッチを追加すると、問題は解決しますが、より良い解決策を見つけたいと思います。
私は本当にそれでいくつかの助けをいただければ幸いです.
PS:何かを変更する場合、zone.jsでangular2を使用しています
javascript - Zone.js のカスタム エラー ハンドラー
Zone.js を使用しており、キャッチされていない例外のログを設定したいと考えています。次のように、エラー ハンドラを設定できます。
ただし、Promise 内で例外がスローされた場合、これは機能しません。Zone エラー ハンドラーの良いところは、それが Promises にフックされ、それらの例外に対して発火することですが、Zone が作成された後にエラー ハンドラーを実際にオーバーライドまたは追加する方法が見つかりません。ゾーンのプライベート フィールド。
エラーハンドラーを更新するために使用できるゾーン用の実際の API はありますか、またはルートゾーンが構築されているポリフィルを変更するか、プライベートフィールドなどを上書きする必要がありますか?
node.js - ノードで zone.js フックを使用する
ノードでangular/zone.jsを使用して簡単なデモを作成しようとしていますが、何らかの理由でbeforeTask
またはafterTask
が呼び出されていません。
ここに私が実行しているコードがあります:
ゾーン内では、ゾーン名を含むすべてが正常に出力されますが、どちらのフックも呼び出されません。
zone.js + node.js で基本的なものが足りないのですか?
(ノード v5.0.0、zone.js 0.6.23 で実行)
angular - 変更検出をトリガーしないAngular 2クリックイベントコールバック
(click)
変更検出をトリガーせずに、Angular 2のイベント コールバック関数内でいくつかのロジックを実行しようとすると、大きな問題が発生します。
変更検出をトリガーしたくない理由
コールバック関数は、上への単純なアニメーション スクロールを実行します。他のコンポーネントには影響を与えないため、すべてのコンポーネントで変更検出を起動する必要はありません。実際、起動させたくありません! 変更検出はすべてのコンポーネントで実行されるため、モバイルでのアニメーションのパフォーマンスは非常に低くなります。
私が試したこと
を使用してゾーン外でコードを実行できることを知っています
click
これは、ゾーンの外で実行したいコードが、keyup
、keydown
イベントなどによって呼び出されない場合にうまく機能します。
私のコンポーネントは次のように見えるので...
<button (click)="doThing()">Do that thing outside the zone!</button>
...myFunction
ゾーン外で実行されますが、click
イベントは変更検出をトリガーします。
OnPush
可能な限り多くのコンポーネントに変更検出戦略を既に実装しています。
ここで変更検出がトリガーされないことが重要ですが、それを防ぐ方法が見つかりません。
編集すべてのコンポーネントで変更検出が設定されて
いるこのplnkを参照してください。OnPush
subrow コンポーネント ボタンをクリックすると、subrow、row、および app コンポーネントで CD がトリガーされます。