From d67eb1b43150eb87325d4c5eaae8101ea7ac0ee7 Mon Sep 17 00:00:00 2001 From: Haishan Date: Sat, 6 Jul 2019 21:33:05 +0800 Subject: fix(traffic): prevent GET /traffic being called multiple times --- src/api/traffic.js | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'src/api') diff --git a/src/api/traffic.js b/src/api/traffic.js index 63252aa..3e1c780 100644 --- a/src/api/traffic.js +++ b/src/api/traffic.js @@ -72,14 +72,23 @@ function pump(reader) { function fetchData(apiConfig) { if (fetched) return traffic; + fetched = true; const { url, init } = getURLAndInit(apiConfig); - fetch(url + endpoint, init).then(response => { - if (response.ok) { - fetched = true; - const reader = response.body.getReader(); - pump(reader); + fetch(url + endpoint, init).then( + response => { + if (response.ok) { + const reader = response.body.getReader(); + pump(reader); + } else { + fetched = false; + } + }, + err => { + // eslint-disable-next-line no-console + console.log('fetch /traffic error', err); + fetched = false; } - }); + ); return traffic; } -- cgit v1.3.1