首页 > 解决方案 > Angular 雅虎天气 API

问题描述

我对 Yahoo Weather API 有疑问。我应该如何请求从 Yahoo Weather API 获取数据?

import { Injectable } from '@angular/core';
import {Observable} from 'rxjs';
import {HttpClient} from '@angular/common/http';

@Injectable()
export class WeatherService {
  constructor(private http: HttpClient) { }

  getWeatherForecast(city: string): Observable<any> {
   const url = 'https://query.yahooapis.com/v1/public/yql?q=select wind from 
   weather.forecast where woeid=2460286';
   return this.http.get(url);
  }
}

结果

标签: javascriptangularapiyahooweather

解决方案


这是一个简单的例子,但我希望它对你有所帮助。我将axios在这里使用一个名为的库:

const url = "https://query.yahooapis.com/v1/public/yql?q=select item.condition from weather.forecast where woeid in (select woeid from geo.places(1) where text='Sunderland') and u='c'&format=json";
  
    const getWeatherData = () => {
         axios.get(url)
        .then(res => console.log(res.data.query.results.channel.item.condition))
        .catch(err => console.log(err.data))
    }
    
    getWeatherData();
<script src="https://cdnjs.cloudflare.com/ajax/libs/axios/0.12.0/axios.min.js"></script>


推荐阅读