同期に問題がある JavaScript コードを書き直す必要があります。私はjquery 1.7を使用しており、成功と失敗のコールバックで$ .ajaxを呼び出すGenerateData()というメソッドを呼び出しています。
GenerateData() は Web サービスを呼び出して、成功コールバックに渡されるレコードのリストを取得します。成功コールバックは、ディスク上に xml データ ファイルを生成します。呼び出しが成功すると、xml ファイルが pdf テンプレートとマージされ、pdf ドキュメントが作成されます。現在起こっていることは、xml ファイルがエクスポートされる前に pdf がマージされていることです。私は .when (GenerateData)/.then(CreatePDF) を使用して問題を解決しようとしていますが、メイン関数 (GenerateData および CreatePDF) では機能するようですが、GenerateData に成功のコールバックを追加すると、成功の前に CreatePDF が実行されます。コールバックが終了します。
コールバック ハンドラも延期する必要がありますか?また延期する場合、どのようにコーディングする必要がありますか? オンラインで具体的な例が見つかりませんでした...
ポール