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