Передача параметров в дополнение к данным, полученным из http-запроса, в метод angularJS

0

У меня есть этот метод в моем контроллере, который получает json файл из моего API.

      $scope.get = function (code) {

          api.get(code)
              .then(onJsonPart, onError);
      };

Делая это:

      function onJsonPart(json) {

          console.log(json);
      }

Я могу распечатать полученный JSON, но хочу передать несколько переменных методу onJsonPart. Что-то вроде:

      $scope.get = function (code) {

          api.get(code)
              .then(onJsonPart(code, data), onError);
      };

Здесь я получаю ERROR: данные не определены явно, вопрос в том, как определить переменную данных с полученными данными.

а затем у меня есть два параметра для моей функции onJsonPart следующим образом:

      function onJsonPart(code, json) {

          console.log('Code: ' + code);
          console.log('json:');
          console.log(json);
      }
  • 0
    Это функция обратного вызова, которая принимает только один параметр, но не предлагает добавить вашу пользовательскую переменную и значения в объект ответа службы HTTP.
Теги:
promise
service

3 ответа

2
Лучший ответ

Приведенный ниже код будет проходить code и API ответа res к onJsonPart():

  $scope.get = function (code) {

      api.get(code)
          .then(
              function(res) {
                  //...some place for logic
                  onJsonPart(code, res);
              },
              function (err) {
                  //...some place for logic
                  onError(err));
              }
      );
  };
0

Вы можете сделать это:

$scope.get = function (code) {
      api.get(code)
          .then(function(data) {
             onJsonPart(code, data)...
          }
  };
0

Пытаться

api.get(code)
.then(function (json) {
    onJsonPart(code, data);
}, onError);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню