Показать сообщение отдельно
  #69 (permalink)  
Старый 04.12.2013, 21:01
Профессор
Посмотреть профиль Найти все сообщения от Maxmaxmaximus3
 
Регистрация: 18.11.2013
Сообщений: 275

Пасоны, придумал очередную нанотехнологию, сервисы могут возвращать значение АСИНХРОННО!!

<script src="http://mychamber.ru/build/ui.js"></script>


<div controller="Ctrl">
  {prop}
</div>

<script>
  function Ctrl() {
    prop = $test() //немного уличной магии ^__^
  }


  ui.global.service('$test', function() {

    return function test() {
      //возвращаем значение ассинхронно
      setTimeout(function() { test.$async('Тадааа ^__^') }, 2000)
      return 'loading...';
    }

  });
</script>


Единственное что, значение ассинхронно можно пихнуть только если идет приравнивание, а не декларация обьекта или вызов функции =( но я работаю над этим. Но по сути, если мы используем FRP подход, то это неебический сахар, ведь там только приравнивание и идет.



Ну типа того:
<script src="http://mychamber.ru/build/ui.js"></script>


<div controller="Ctrl">
  Имя:  {form.name}<br>
  Пароль:  {form.pass}<br>
  Отложенное значение:  {form.test}
</div>


<script>
  function Ctrl($test) {
    name = 'Maxmaxmaximus'
    pass = '****'
    test = $test()

    form = ({
      name: name,
      pass: pass,
      test: test
    })
  }



  ui.global.service('$test', function() {
    return function test() {
      //возвращаем значение ассинхронно
      setTimeout(function() { test['$async']('Тадааа ^__^') }, 2000)
      return 'loading...';
    }
  });
</script>

Последний раз редактировалось Maxmaxmaximus3, 04.12.2013 в 21:24.
Ответить с цитированием