Billing
<elem states="default">
<tpl>
<p>
BillingService нужен для накладывания ограничений на доступный функционал
</p>
<p class="text-warning">
Для просмотра логов откройте chrome devtools console и включили dev mode в мете.
</p>
<a ng-click="changeState('test_in_js', {})" href>Go To JS</a>
</tpl>
</elem>
<script type="meta/js" id="ex0" states="test_in_js">
function main(log) {
log.info('ex0 выполняется в любом случае, так как он перед проверкой по биллингу');
}
</script>
<script type="meta/js" id="ex1" states="test_in_js">
function main(log, env, vm, pvm, BillingService) {
log.info('ex1 Перед проверкой по биллингу');
// Метод checkAddSkuUsage бросает исключение PaymentRequiredException и останавливает выполенение скриптов за
BillingService.checkAddSkuUsage('feeds', 'feeds-streams-count', 10);
log.info('ex1 Этот код уже не исполнится, если будет PaymentRequiredException');
}
</script>
<script type="meta/js" id="ex2" states="test_in_js">
function main(log, BillingService) {
// В случае исключения PaymentRequiredException этот скрипт уже не выполнится
// В нашем примере мы всегда получаем исключение
log.info('ex2 только, если мы не получили PaymentRequiredException');
}
</script>