私はインデックス付きストレージの処理にDexie.jsを使用しています。ただし、延期された約束により開始されたすべてのプロセスで例外処理が引き継がれます。これにより、発生したバグを把握することが非常に困難になりました。遅延プロミスを引き継ぐDexie.jsデバッグコードの解決方法
0
A
答えて
0
これは機能します。これが良い考えであれば、私は他の開発者から意見を得たいと思っています。
function isolate(deferred) {
return {
exec: function() {
var args = arguments;
var timeout = setTimeout(function() {
deferred.apply(this, args);
clearTimeout(timeout);
},1);
}
};
}
function save(name, drawing, data, onComplete) {
return db.drawings.put(
{ name: name, drawing, data: data
).then(isolate(onComplete).exec);
}
約束機能が完了し、この方法は、Dexie.jsはそれについて非常に満足して、その後、新しいものがDexie(または任意の他の約束スタイルのハンドラは)もう気にしない、タイムアウトで開始します。
0
エラーが発生したときにコードをデバッグして中断する必要がある場合は、推奨される回避策を実行せずにPromiseベースのコードでも行うことができます。
ChromeのF12デバッガで、「キャッチされた例外で一時停止する」にチェックを入れます。また、ブラックボックスの第3部のライブラリを確認して、babel、jquery、dexieの機能テストを終了しないようにしてください。これは、スクリプトコードのどこかを右クリック(デバッガがブレークインするとき)し、 "ブラックボックス"を選択するだけで簡単に行えます。あなた自身のコードをブラックボックスにしないようにしてください!
これで、プロミスコールバックから起動しても、エラーが発生したときにデバッガが壊れます。
関連する問題
- 1. 遅延プロミス値が更新/解決/延期されていません
- 2. ユニティ遅延解決
- 3. 返金遅延。プロミス2サービス
- 4. NodeJSプロミス、遅延戻り値
- 5. ウェブサイトのスピードテストの遅延を解決する方法
- 6. Boost :: Future遅延継承デッドロックの解除
- 7. $ q遅延プロミスでエラーコードを取得する方法
- 8. jQuery遅延の早期解決
- 9. UDFの遅延名前解決
- 10. jQueryで遅延プロミスをキャンセルする
- 11. 車を引き継ぐ
- 12. 遅延ELが解決されない
- 13. プロミスが解決しない解決
- 14. ReactJSアプリケーションの遅れて、プロミスの解決アクションが発生する
- 15. ペイロードを引き継ぐ方法をredux-observable
- 16. カードゲームでカードを引き継ぐ方法は?
- 17. ループ時のアニメーションイージング/ SVGの遅延を防ぐ方法は?
- 18. 誰かのコードを引き継ぐ
- 19. AXI4遅延取引
- 20. LoadRunnerからセッションを引き継ぐ
- 21. セレンセッションからブラウザを引き継ぐ
- 22. タートルグラフィックス自身を引き継ぐ
- 23. 非同期にプロミスを解決する
- 24. 遅延Qを複数回解決する
- 25. iOS SDKを使用して他のアプリを引き継ぐ方法
- 26. 機能プログラミング:一連の検証ルールのコンテキストを引き継ぐ方法
- 27. 複数のチェックボックスのステータスをビジネスレイヤーに引き継ぐ一般的な方法
- 28. JavaScriptでの遅延方法
- 29. 約束事が解決されたときのAngularJSの遅延ビューの更新
- 30. 遅延UISearchbarの解析
確かに、それは役立ちますが、キャッチされるはずのエラーがたくさんあり、デバッグが難しくなります – GeeWhizBang
私はブラックボックスのことを知らなかったので、それを試してみましょう。 – GeeWhizBang