在 redux thunk 中链接操作的正确方法?

Proper way of chaining operations in redux thunk?

我是第一次使用 redux thunk。链接操作的正确方法是什么?

我想在给出用户输入后获取位置,并且当有来自 Google Maps API 的数据响应时,我想立即使用该数据获取该位置的天气。 Redux thunk 正在运行,但仅适用于第一次操作(获取位置)。 request2 中的 Data2 总是 undefined,你能告诉我为什么吗?

 export function fetchLocation(city) {
      const urlGoogle = `https://maps.googleapis.com/maps/api/geocode/json?address=${city}&key=${API_KEY_GOOGLE}`;
      const request = axios.get(urlGoogle);

      return (dispatch) => {
        request.then(({ data }) => {
          dispatch({ type: FETCH_LOCATION, payload: data });

          const lat = data.results["0"].geometry.location.lat;
          const lng = data.results["0"].geometry.location.lng;
          const urlWunder = `https://api.wunderground.com/api/${API_KEY_WUNDERGROUND}/forecast10day/q/${lat},${lng}.json`;

          console.log(urlWunder); // Link is ok, it works in browser

          const request2 = axios.get(urlWunder);
          request2.then(({ data2 }) => {
            console.log('Data2', data2);  // Getting undefined, why ?
            dispatch({ type: FETCH_WEATHER, payload: data2 });
          });
        });
      };
    }

很可能第二个请求没有返回名为 response.data2 的字段,因此当您解构它时,data2 将是未定义的。您可能仍需要查找名为 data 的字段,但为其指定不同的本地参数名称,例如:request2.then({data : data2}).