2015-11-23 1 views
2

Я использую сервер REST для извлечения данных. В пользовательском интерфейсе AngularJS пользователю предоставляется выбор из нескольких вариантов создания запроса для отправки на сервер REST. Проблема в том, что сервер принимает только один из них, поэтому, если пользователь хочет искать несколько объектов, они не могут. Я пытаюсь придумать способ отправки нескольких запросов (количество запросов зависит от длины массива Entity, заданного пользователем в пользовательском интерфейсе). Пока все, о чем я могу думать, это цикл цикла по длине массива сущностей, и для каждого цикла отправляйте запрос - моя проблема заключается в том, как я могу присоединиться к этим двум наборам данных? Каждый раз, когда цикл for завершается, данные переопределяются следующим набором, для которого отправляется. И количество раз, когда отправляются запросы, полностью зависит от количества объектов, которые требуется вернуть пользователю.

+2

У вас самая типичная проблема. Вы можете разрешить с закрытием Javascript. –

+0

Как я понимаю, вы пытаетесь отфильтровать некоторые данные на основе некоторых параметров. Предположим, что у вас есть всего 100 записей и вы ищете только записи типа A, B, C. Но сервер возвращает элемент A records (10). Затем в следующем сервере запросов возвращается элемент типа B (15). и для элемента C (5). Итак, вы хотите отобразить (10 + 15 + 5-Common Elements) правильно? –

+0

Да @ParthaSarathiGhosh, но количество запросов времени отправляется в зависимости от того, сколько пользователей выбирает пользователь, может быть 2 запроса, может быть 10. – xeon48

ответ

1

Если у вас есть уникальный идентификатор для каждого элемента результата, вы можете попробовать следующий алгоритм. Надеюсь, это решит проблему.

var data = []; 
loop through options selected by user { 
    request sent { 
     on sucess() { 
      loop though RESPONSE_DATA_ARRAY { 
       var id = RESPONSE_DATA_ARRAY_ITEM.uniuqe_key 
       if(data[id] === undefined){ 
        data[id] = RESPONSE_DATA_ARRAY_ITEM; 
        //Stored as Key Value pair, which will help to identify same object each time easily. 
       } 
      } 

     } 
    } 
} 
+0

Спасибо, я постараюсь реализовать это и вернусь: D – xeon48