YouTube API、Instagram API、TumblrAPIにリクエストを送信するクライアントサイドアプリケーションを構築しています。これらのリクエストが処理されると、適切なコールバック関数が実行されます。
問題は、YouTubeが常に最初に終了し、underscore.jsテンプレートを介してHTMLにデータを追加することです。それから数秒後、InstagramとTumblrの結果も追加されます。
私のapp.jsファイルには、3つの個別のプレーンJavaScript関数が含まれています。
function showYoutube() { ... }
function showInstagram() { ... }
function showTumblr() { ... }
3つのコールバック関数がすべて正常に完了するまで、単純な「Loading ...」メッセージを表示するにはどうすればよいですか?
アップデート:
まだ可能な解決策を探しています。私はバックエンドサービスを持っていないので、JSONPAPIリクエストのみに制限されていることに注意してください。
私のAPI呼び出しはindex.htmlにあり、次のようになります。
<script
type="text/javascript"
src="http://gdata.youtube.com/feeds/users/GoogleDevelopers/uploads?v=2&alt=json-in-script&format=5&callback=showMyVideos">
</script>
したがって、関数showMyVideos()
はグローバルスコープ内にある必要があります。運が悪かったので、 jQueryDefferedとAsync.jsParallelを実装してみました。