
230
|
第
19
章
存需要一段时间,并且是异步完成的。如果在第一次缓存刷新完成前进来了多个请求,要
是没有这个属性,这些请求就又会开始缓存刷新的工作。确实,这样也不会有什么害处,
但它会发出更多
API
调
用,而这些调用是不必要的。这个布尔变量就是一个标志,就好像
在对所有后续请求说:“我们正在忙这事儿呢。”
第
7
章创建了一个
getWeatherData
函数,当时使用的是模拟数据,这里把它整个替换掉。
需要做的是打开
lib/middleware/weather
.js
,替换
getWeatherData
函数:
const weatherData = require('../weather')
const getWeatherData = weatherData([
{
name: 'Portland',
coordinates: { lat: 45.5154586, lng: -122.6793461 },
},
{
name: 'Bend',
coordinates: { lat: 44.0581728, lng: -121.3153096 },
},
{
name: 'Manzanita',
coordinates: { lat: 45.7184398, lng: -123.9351354 },
},
])
现在,我们的天气组件就有实时数据了。
19.4
小结
对于第三方
API
集成能够做到什么,实际上我们只是触及了其皮毛。环顾四周,不断有新
的
API
冒出来
,提供着你所能想象的各种类型的数据 ...