[問題] wait until change
最近在用node.js寫一個小工具,他會去call某個api,然而似乎他那邊有限制一定時間內
最多call幾次,因此我自己寫了個簡單的cache(附一)。
可是發現當有多個人在差不多的時間連進來的時候,我還是會call很多次,因為前面call
的東西還沒有存進cache裡面(每call一次api約花費一秒),導致後來的人因為次數的上
限拿不到資料,想問有辦法讓我做到先註冊一下我要放東西到cache,之後一拿到再分給
每個需要的人嗎?
*附一
const MyCache = function() {
let dataStore = {}, CACHED_TIME = 600000;
return {
setCacheTime: function(time) {
CACHED_TIME = time;
},
check: function(key) {
if(typeof dataStore[key] === 'undefined') return false;
const curTime = new Date();
if(curTime - dataStore[key].updTime >= CACHED_TIME) {
delete dataStore[key];
return false;
}
return true;
},
get: function(key) {
return dataStore[key].value;
},
update: function(key, data) {
const curTime = new Date();
dataStore[key] = { 'updTime': curTime, 'value': data };
}
}
}
p.s. 不知道原生的Proxy可不可以做到setcahcetime之類的效果QQ
--
我還沒說完吶~~ 夠多了夠多了,回家啦~!
\ /
○
︵ \○╱/|
. . ﹎ ﹍﹍ ╱ ̄﹚╱> (原PO被拖走了....)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.102.192
※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1531930030.A.548.html
→
07/19 01:12,
6年前
, 1F
07/19 01:12, 1F
→
07/19 01:12,
6年前
, 2F
07/19 01:12, 2F
→
07/19 01:13,
6年前
, 3F
07/19 01:13, 3F
→
07/19 01:54,
6年前
, 4F
07/19 01:54, 4F
→
07/19 01:54,
6年前
, 5F
07/19 01:54, 5F
推
07/19 06:56,
6年前
, 6F
07/19 06:56, 6F
→
07/19 10:10,
6年前
, 7F
07/19 10:10, 7F
→
07/19 10:10,
6年前
, 8F
07/19 10:10, 8F
→
07/19 10:35,
6年前
, 9F
07/19 10:35, 9F
→
07/19 10:35,
6年前
, 10F
07/19 10:35, 10F
→
07/19 10:36,
6年前
, 11F
07/19 10:36, 11F
→
07/19 12:11,
6年前
, 12F
07/19 12:11, 12F
→
07/19 14:35,
6年前
, 13F
07/19 14:35, 13F
推
07/19 23:34,
6年前
, 14F
07/19 23:34, 14F
→
07/19 23:34,
6年前
, 15F
07/19 23:34, 15F
→
07/20 00:55,
6年前
, 16F
07/20 00:55, 16F
→
07/20 00:56,
6年前
, 17F
07/20 00:56, 17F
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章