2

zapier コードから 3 つの異なる API 呼び出しを実行し、それらの戻り値を変数で取得してマージしたいと考えています。その方法がわかりません。次のようになります。

var urls = [apiUrl1, apiUrl2, apiUrl3];
var output = [];

for ( i = 0; i < urls.length; i++ ) {
    output[i] = fetch( urls[i] );
}

これはコード例です。出力に対する応答を取得できません。空白のオブジェクト {} しか取得できません。fetch の戻り値を出力配列に保存する手順は?

4

2 に答える 2

2

ブラッシュアップする必要がある2つのこと:

  1. Promise - 特に Promise.all() - についてはたくさんあります。
  2. データを非同期で返すコールバック。これについては、ヘルプ ドキュメントで説明しています。

コードが失敗する主な理由は、フェッチがすぐに行われると想定しているためです。JavaScript ではそうではありません - 非同期に発生し、コールバックを介して出力を返す前に、promise とコールバックを使用して、それらが完了するまで待機する必要があります!

于 2016-08-27T06:27:51.893 に答える