0

Firefox の XSLT エンジンを使用して、大きな XML ドキュメントを変換しています。このファイルが Firefox には大きすぎると、ブラウザがフリーズするだけです (Mac OS - i7 では、Windows - コア 2 デュオよりもはるかに早いのですが、驚くべきことです)。

プロセスを簡単にする方法として、XML ファイルを小さな部分に分割し、順次変換しています。これにより、物事(および速度)が大幅に改善されました。ただし、ファイルがまだ大きい場合は、同じ症状が発生します。

今、私が考えているのは、transformToFragment関数が非同期であるということです。これは、前の変換が完了する前に次の変換を開始していることを意味し、最後にブラウザー (および実際にはコンピューターも) をブロックします。

次に、プロセスを続行する前に信頼できるイベントが見つかりません。誰もそれを行う方法を知っていますか?

4

1 に答える 1

0

結局、それは非同期ではないようです。x秒ごとに応答の値をチェックして制御しようとしましたが、transformToFragmentプロセスが終了するまで何もチェックしませんでした。

このプロセスによってブラウザーとコンピューターがフリーズするのを回避するには、まだ問題があります。今、私はこのプロセスが非同期であることを望みます。いずれにせよ、これはこの「間違った」質問とは関係ありません。

于 2013-01-20T19:31:58.157 に答える