Необходимо заменить свойство SCNLight, вызвавшее изменение цели с iOS 10 на 9

Вы можете полностью отключить свой сервис от области видимости, но в вашем контроллере можно обновить область асинхронно.

Проблема, с которой вы сталкиваетесь, заключается в том, что вы не знаете, что HTTP-вызовы выполняются асинхронно, а это значит, что вы не получаете значение сразу, как вы могли. Например,

var students = $http.get(path).then(function (resp) {
  return resp.data;
}); // then() returns a promise object, not resp.data

Существует простой способ обойти это, и он должен обеспечить функцию обратного вызова.

.service('StudentService', [ '$http',
    function ($http) {
    // get some data via the $http
    var path = '/students';

    //save method create a new student if not already exists
    //else update the existing object
    this.save = function (student, doneCallback) {
      $http.post(
        path, 
        {
          params: {
            student: student
          }
        }
      )
      .then(function (resp) {
        doneCallback(resp.data); // when the async http call is done, execute the callback
      });  
    }
.controller('StudentSaveController', ['$scope', 'StudentService', function ($scope, StudentService) {
  $scope.saveUser = function (user) {
    StudentService.save(user, function (data) {
      $scope.message = data; // I'm assuming data is a string error returned from your REST API
    })
  }
}]);

Форма:

<div class="form-message">{{message}}</div>

<div ng-controller="StudentSaveController">
  <form novalidate class="simple-form">
    Name: <input type="text" ng-model="user.name" /><br />
    E-mail: <input type="email" ng-model="user.email" /><br />
    Gender: <input type="radio" ng-model="user.gender" value="male" />male
    <input type="radio" ng-model="user.gender" value="female" />female<br />
    <input type="button" ng-click="reset()" value="Reset" />
    <input type="submit" ng-click="saveUser(user)" value="Save" />
  </form>
</div>

Это позволило сократить часть вашей бизнес-логики для краткости, и я на самом деле не протестировал код, но что-то вроде этого будет работать. Основной концепцией является передача обратного вызова от контроллера к службе, которая будет вызвана позже в будущем. Если вы знакомы с NodeJS, это та же концепция.

0
задан Dávid Pásztor 28 March 2019 в 10:14
поделиться

1 ответ

Я исследовал эту тему в прошлый раз. Я нашел ответ. До SDK 10 вы можете установить интенсивность белого цвета

Итак:

target.light?.color = UIColor(white: intensity/1000.0, alpha: 1.0)

действует так же, как

target.light?.intensity = intensity

Проблема решена. Может быть, кто-то в будущем будет использовать мой решить:)

0
ответ дан lapwingg 28 March 2019 в 10:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: