1. ホーム
  2. react-native

[解決済み】React Native。未処理のプロミスリジェクトの可能性

2022-02-13 19:28:38

質問

以下のようなエラーが発生するのですが。

Possible unhandled promise rejection (id:0: Network request failed)

これが約束のコードです。何が間違っているのか分かりませんが、何かアイデアはありますか?

  return fetch(url)
    .then(function(response){
      return response.json();
    })
    .then(function(json){
      return {
        city: json.name,
        temperature: kelvinToF(json.main.temp),
        description: _.capitalize(json.weather[0].description)
      }
    })
    .catch(function(error) {
    console.log('There has been a problem with your fetch operation: ' + error.message);
    });
}

編集 :

catch関数を追加したら、より良いエラーが発生しました。

You passed an undefined or null state object; instead, use forceUpdate(). index.ios.js:64 undefined

これがindex.ios.jsのコードです。urlは正常で、正しいjsonデータを与えています。コンソールログを見ると {コード {コード と {コード で利用できます。 {コード . しかし {コード は未定義です。

に問題があるのか、まだよくわからない。 region.latitude と未定義である理由を教えてください。

region.longitude

解決するには?

API の catch 関数は、React クラスの API 呼び出しで処理できるデータを返すか、React クラスのコードで catch 関数を使用してキャッチすべき新しいエラーを投げる必要があります。後者は、以下のようなアプローチになります。

{コード

そして、React Classの中で

Api(region.latitude, region.longitude)