5

さまざまなブラウザーからの API の削除が差し迫っているため、大規模なエンタープライズ Web アプリケーションshowModalDialogを提供する他の多くの企業と同様に、当社は現在、重大なジレンマに直面しています。

呼び出しをshowModalDialog3 行のコードに集中させましたが、モーダル ユーザー プロンプトからのフィードバックを提供するために、このコードに広く依存しています (ソリューションをすばやく検索すると、約 2400 のインスタンスが見つかります)。

showModalDialogかなり簡単に切り取って、Javascript/css ベースの代替物に置き換えることができますが、それは問題ではありません。私たちが直面している問題は、すべての呼び出しコードがブロックされなくなることです。

if(doConfirm(...)) {
   ...
} else {
   ...
} 

上記は、非ブロッキングの代替手段の導入により、単純に失敗します。また、ダイアログ ボタンは多くの場合カスタマイズされており、アプリケーションに適合するようにスタイル設定されているため、組み込みのブロック メソッド (アラート、確認) も使用できません。

上記に基づいて、以前にブロックされていたコードを非常に多くリファクタリングする必要を回避するために採用できる実用的な回避策/ソリューションはありますか?

4

3 に答える 3

1

非同期のイベント ベースのコードを使用することはできません。

コードを手動でリファクタリングする必要を回避するための実用的な回避策はありますか?

キーワードをjsにもたらすawaitjavascript-to-javascriptコンパイラを試すことができます。コードを非同期バージョンに自動的にトランスパイルする必要があります。

免責事項:私はこれらのいずれも使用していません

于 2014-07-11T12:19:26.607 に答える