我更喜欢由您的 rest api 提供此数据的解决方案。如果这不可能,您应该创建一个单独的 JS 文件,其中包含所有请求逻辑 - 可能称为 RequestProvider。
在那里,您可以拨打所有请求电话并准备他们的答案。在您的“控制器”中,您只需调用RequestProvider.doRequest(params, callbackSuccess, callbackError)
.
function RequestProvider(){}
RequestProvider.prototype.doRequest = function(params, success, error, scope) {
var client = Ti.Network.createHTTPClient({
// function called when the response data is available
onload : function(e) {
Ti.API.info("Received text: " + this.responseText);
// prepare & modify answer
var answer = JSON.parse(this.responseText);
//modify array
var modifiedAnswer = // replace parts in original answer;
success.call(scope || this, modifiedAnswer);
},
// function called when an error occurs, including a timeout
onerror : function(e) {
Ti.API.debug(e.error);
error.call(scope || this, errormessage);
},
timeout : 5000 // in milliseconds
});
// Prepare the connection.
client.open("GET", url);
// Send the request.
client.send();
}
RequestProvider = new RequestProvider();
module.exports = RequestProvider;
主要概念是只做一次所有的请求逻辑!