2017-06-15 8 views
0

React Nativeは、JSのやり方、つまり非同期の関数呼び出しを使用することを知っています。したがって、これはAPIの "フェッチ"機能にも当てはまります。しかし何らかの理由で、私はAPIを "フェッチ"同期させる必要があります。ネイティブコールリラティブなAPIを同期的に呼び出す

これは私がしたいことです。アプリにはアイテムのリストがあります。それはアイテムをループしなければならず、それぞれのためにURLを構築し、レスポンスを得るために構築されたURLに基​​づいて "fetch"を呼び出す必要があります(例えば、5つのアイテムがあれば、呼び出される各URLには異なるパラメータがあります)。すべてのリスティングアイテムに対する回答を正常に受け取ったら、状態を更新する(状態はすべての応答を返すことに依存しています)など、何か他のことをする必要があります。

私はバックエンドを制御できないことに注意してください。つまり、代わりにバッチコールを持つようにURL側を変更することはできません。

質問:React Nativeで同期呼び出しを行うにはどうすればよいですか。

+0

apisを同期して呼び出す必要はありません。すべてのAPIコールからデータを取得した後に何かをしたいだけなら、Promise.all()を使用できます。https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise/allすべての約束が解決されたときに解決され、その ".then()"関数に一連の結果が得られます –

答えて

0

XMLHttpRequestオブジェクトを使用して同期的に呼び出すことができます。

var request = new XMLHttpRequest(); 

request.open('GET', 'https://mywebsite.com/endpoint.php', false); // third parameter FALSE makes Synchronous HTTP request 
request.send(null); 

if (request.status === 200) { 
    console.log(request.responseText); 
} 

または

あなたは、同期API呼び出しを提供します多くのNPMモジュールを取得します。

これがあなたに役立つことを願っています。

関連する問題