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);
}
})();
我的查询: 可以请求没有投票暂停,然后继续第一个请求已完成缓存构建过程后,才?