// ...

let getWeather = () =>
  Js.Promise.(
    Bs_fetch.fetch(url)
      |> then_(Bs_fetch.Response.text)
      |> then_(
        jsonText => {
          switch (parseWeatherResultsJson(jsonText)) {
          | exception e => reject(e);
          | weather => resolve(weather);
          };
        }
      )
);