Вместо подписки на Обсерваторию. Вы можете преобразовать Observable
в Promise
на .toPromise()
. Вам также понадобится сделать функцию async
и поставить await
перед функцией, которую вы применили .toPromise()
. Затем массив products будет храниться в переменной, называемой products, и после этого вы сможете использовать ее в обычном режиме.
Пример:
public async getCountofProducts() {
const products = await this.productService.getAllProducts().toPromise();
if(products !== null) {
return products.length;
} else {
return 0;
}
}
Когда вы вызываете эту функцию, вы должны вызывать ее в функции async
с помощью await
раньше, если вы не вызываете ее так, как это вернет только ZoneAwarePromise. Вместо этого вы также можете получить доступ к значению типа Promise
, используя .then()
.
//You can call it like this
public async someFunction() {
console.log(await this.getCountofProduts);
}
//OR
public someFunction() {
this.getCountofProducts().then((result) => {console.log(result)});
}
Плагин Outline Outline для байт-кода для Eclipse
для игры с байт-кодом, который вы можете использовать ASM или BCEL
. посмотрите на org.apache.bcel.util.BCELifier, он берет данный класс и преобразует его в программу BCEL (на Java, конечно). Он покажет вам, как определенный код генерируется с использованием BCEL.
Jasmin:
http://jasmin.sourceforge.net/
Это ассемблер для байт-кода Java. Хотя на вышеприведенном плакате указывалось, что ручное кодирование байт-кода Java может быть не очень полезным, Jasmin использовался как бэкэнд для компиляторов, нацеленных на JVM в качестве среды выполнения. Таким образом, ваш компилятор может выводить инструкции ассемблера Jasmin, а затем Jasmin преобразует их в классы Java.