我正在运行一个我需要继续运行的功能,直到我得到一个响应示例
exports.getJson = function(url, callback) {
var loader = Titanium.Network.createHTTPClient();
loader.open("GET", url);
loader.onload = function() {
var response = JSON.parse(this.responseText);
callback(response);
};
loader.onerror = function(e) {
callback(false);
};
// Send the HTTP request
loader.send();
}
好吧我遇到的问题是它有时会给我一个null的响应,我需要它再次运行。
所以我这样称呼它。
url = 'http://example.com/test.json';
main.getJson(url, function(response) {
if(response){
addData(response);
}else{
//return no response i need to run the function again now until it comes back as true
}
});
任何人都可以给我一个很好的方法来做到这一点,或者尝试至少3次然后返回假???
由于
答案 0 :(得分:4)
只需将代码置于函数中并再次调用它:
var counter = 0;
function getData() {
main.getJson('http://example.com/test.json', function(response) {
if(response){
addData(response);
}
else if (counter < 3) {
counter++;
getData();
}
});
});