как добавить код состояния и данные из ответа сервера в сервис - PullRequest
0 голосов
/ 05 марта 2019

У меня есть этот Beservice.js, и здесь я обрабатываю ответ сервера.Мои прокси-данные состоят из всего ответа вместе с заголовком, конфигурацией, состоянием и данными.Здесь, в сервисе, мне нужно передать только данные и статус, поэтому я присвоил их переменной внутри условия if и, используя это dfr.resolve(status,data);, получаю только значение статуса, но не данные.Тем временем dfr.resolve(data,status ); он получает мне данные, но не статус, Нужно решение. Не знаю, чего мне не хватает.

BeService.JS

define([
  'angular',
  'services-module',
  'vruntime'
], function (angular, services, vRuntime) {
  'use strict';
  var $http, $q;
  var BeService = vRuntime.BaseClass.extend({
    asn: function (form) {
      var dfr = $q.defer();
      $http.post('upload', form, {
        headers: {'Content-Type': undefined}
      }).then(function (proxydata) {
        var data;
        var status;
        console.log(proxydata);
        if (proxydata) {
          status = proxydata.hasOwnProperty('status') ? proxydata.status : proxydata;
          data = proxydata.hasOwnProperty('data') ? proxydata.data : proxydata;

        }
        dfr.resolve(status,data);
      }, function (res) {
        var err;
        if (res.status !== 400 && res.status !== 500) {
          try {
            err = res.data || res.data.error || res.data.error_message;
          } catch (ex) {
            err = 'Web Service not available';
          }
          dfr.reject(err);
        } else {
          dfr.reject(res);
        }
      });
      return dfr.promise;
    }

  });
  services.service('BeService', ['$q', '$http', function (_$q_, _$http_) {
    $q = _$q_;
    $http = _$http_;
    return new BeService();
  }]);

  return new BeService();

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