0

我正在为 iPad 开发一个带有 javascript 的钛移动应用程序。客户端上的数据是从基于 REST 的服务请求的。结果 json 提供了不同类型的状态 ID,目前我通过将它们映射到客户端的数组来维护它们,以在前端显示它们,这在我的文件中产生了大量垃圾。我正在考虑通过将它们变成单独的 js 文件中的枚举来单独维护这些数组,然后要求它们。应该采取什么方法来实现相同的目标?

例如:当 json 将 ids 发送为 0 时,我在客户端文件上维护一个数组,如 var status = ['Approved-Procurable', 'Submitted to Partner', 'Full Receipt'] 并将它们显示为 Approved Procurable 作为状态。

4

1 回答 1

1

我更喜欢由您的 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;

主要概念是只做一次所有的请求逻辑!

于 2013-03-05T13:16:01.343 回答