Использование одного обработчика ответов для обработки нескольких ответов веб-запросов, поступающих от внутреннего веб-сервиса - PullRequest
0 голосов
/ 01 марта 2019

Итак, у меня есть следующий код, который отправляет кучу запросов, используя один и тот же сервис, на мой веб-сервис asp.net в серверной части.Метод тот же, только данные разные каждый раз, они отправляются в цикле for:

for (let i = 1; i <= totalNumberOfDataRows; i++) {
//some code
//service,method are the same below, just body is different within each loop
app.sendToService(service, method, body, this._handleResponse.bind(this)
}

Затем у меня есть следующий код, который обрабатывает ответы, возвращающиеся:

_handleResponse: function(response, body, method) {

   var data = response.d.result;
        switch (method) {
          //some code with case/break with other methods
          default:
            if (response.d.statusCode === 0) {
              app.showDialog("Definitions", "Successfully updated.");
              this._requestData(this.routeData.guid);
            } else {
              //2/18/2019: added error message to display
              app.showDialog("Definitions (FAILED)", "Failed to update. " + response.d.statusMsg);
            }
            break;
        }
   }

Проблема в том, что этот обработчик ответов написан только для обработки одного ответа от серверной части за раз.То, как мой код написан прямо сейчас, как только возвращается любой ответ от любого из моих вызовов из цикла for, будет вызван обработчик ответа, и он выйдет из него, таким образом оставляя его неспособным обработать любой ответ, если естьвернулся другой ответ.

Как бы я изменил метод _handleResponse, чтобы исправить эту ситуацию, чтобы он ожидал, пока все ответы для этого метода не будут выведены из блока 'case'?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...