次のコードがあります。
var stats = {
....,
checkExistance :
function(url){
var newUrl = url.substring(0, url.lastIndexOf("/")) + "/asyncCheckChartExistance";
var xhrObj = stats.getXhr();
var poolInterval = setInterval("poll()", 100);
function poll(){
xhrObj.open("GET", newUrl, true);
xhrObj.send(null);
xhrObj.onreadystatechange = function(){
if(xhrObj.readyState === 4 && xhrObj.status === 200){
if (xhrObj.responseText.length === true){
console.log("Exists!");
clearInterval(poolInterval);
} else {
console.log("Not Yet!");
}
}
}
}
},
}
stats 名前空間を作成しました。この名前空間では、毎秒サーバーをポーリングする関数を作成しようとしています。この関数には次の方法でアクセスする必要があります: stats.checkExistance(myUrl)
.
ただし、setInterval関数は関数を見ることができないようpoll()
です。これらが別の関数内にネストされていることを考慮すると、これは通常の動作であることはわかっています。
これをグローバル名前空間に記述しても問題はありませんが、この種の名前空間でこれを機能させることに興味があります。何か案は?ありがとう!