0
我有一個用例,我的http請求正在緩存服務器上的中間結果。 如果緩存不存在,請求通過請求另一個服務器來構建。暫停HTTP請求,直到無需輪詢
這些請求是使用AJAX節點服務器連續(循環)燒製和請求的數目可以是在50至500
問題: 由於請求被在一個循環中製成並且高速緩存已不存在,其中幾個都試圖構建高速緩存,並且有時後續請求會找到半高速緩存,這會返回錯誤的結果。
我可以繞過這個問題投票:
(function next(){
if(!wait){
fs.readFile(cacheFile, function(err){
if(err) {
wait = true;
createCache(); // sets wait = false;
} else {
useCache();
}
});
} else {
setTimeout(next,waitTime);
}
})();
我的查詢: 可以請求沒有投票暫停,然後繼續第一個請求已完成緩存構建過程後,才?