Size: a a a

2020 May 19

ЖМ

Жора Монтировка... in graalvm_ru
с чего ты взял?
источник

АН

Авроамэриканец Начрэ... in graalvm_ru
Иначе была бы ошибка раньше
источник

ЖМ

Жора Монтировка... in graalvm_ru
он их выполняет в императивном стиле
источник

ЖМ

Жора Монтировка... in graalvm_ru
нету отдельного экзекутора для промисов
там есть отдельный стек как и в спеке промисов, туда закидываются таски
потом в том же треде graaljs их запускает и т.д
источник

АН

Авроамэриканец Начрэ... in graalvm_ru
Вот так выводится. Но это специальный случай разрешения без складывания в очередь
источник

ЖМ

Жора Монтировка... in graalvm_ru
там ресолв промисов хитрый, но в целом что я видел оно следует спецификации
источник

ЖМ

Жора Монтировка... in graalvm_ru
в отличии от ноды, в режиме интерпретатора промис запускается только после вызова метода then, что в принципе позволяет позвать запуск промиса отложенно, если сильно хочется
а чтобы запускать промисы на своём экзекуторе это можно создать промис в джаве и ресолвить его когда тебе нужно на своих тредах
источник

АН

Авроамэриканец Начрэ... in graalvm_ru
Как можно таймер использовать или сделать что-нибудь асинхронное?
источник

ЖМ

Жора Монтировка... in graalvm_ru
Создай его в джаве
и передай в JS
ща пример скину, у меня есть
источник

ЖМ

Жора Монтировка... in graalvm_ru
https://github.com/mdsina/graaljs-executor-web-service/commit/ec3ef3a1a30b8559047ba8a89393256953b94e88#diff-6756cb3fe8e4eb4fa80dfe8fe6c56a6eR32
Вот так можно
по сути тебе подойдет любой интерфейс с методом then как тут Thenable
Возвращаешь его из джавы, и он будет вести себя как обычный промис в js
источник

ЖМ

Жора Монтировка... in graalvm_ru
уже на своей стороне можешь резолвить его уже любым способом из любого треда
Единственное, какую проблему я еще не решил это случай для параллельных промисов
Promise.all(javaPromise1, javaPromise2)

т.к они могут устроить гонку и одновременно обратиться к контексту для резолва промиса, а Context такое запрещает
источник

АН

Авроамэриканец Начрэ... in graalvm_ru
Жора Монтировка
https://github.com/mdsina/graaljs-executor-web-service/commit/ec3ef3a1a30b8559047ba8a89393256953b94e88#diff-6756cb3fe8e4eb4fa80dfe8fe6c56a6eR32
Вот так можно
по сути тебе подойдет любой интерфейс с методом then как тут Thenable
Возвращаешь его из джавы, и он будет вести себя как обычный промис в js
Я не знаю как создать таймер, потому что не пишу на джаве. Ты мог бы описать функцию с именем setTimeout, что бы я вызвал её внутри промиса?
источник

ЖМ

Жора Монтировка... in graalvm_ru
К сожалению не могу сейчас, уже убегаю
источник

OS

Oleg Shelajev in graalvm_ru
public void setTimeout( int ms) throws Exception { Thread.sleep(Ms *1000);}
источник

OS

Oleg Shelajev in graalvm_ru
Это юмор такой
источник

АН

Авроамэриканец Начрэ... in graalvm_ru
Планирую писать проект на java, примеряю технологии, как например graalvm. Скажите, люди имеющие опыт java разработки, чего вам не хватает в java? Не в jvm в целом, а именно в конкретном языке.

Спрашиваю, что бы предупредить свои ожидания
источник

АН

Авроамэриканец Начрэ... in graalvm_ru
Например я имею опыт php разработки и решил перейти на джаву, потому что нужна строгость описания структур данных, не хватает тредов и случаются случаи как с v8js, когда проект существует, но поддерживается одним разработчиком и плохо документирован, а имеет большое значение для разработки
источник

A

Artjom Kalita in graalvm_ru
Непонятно, какую именно проблему ты пытаешся решить используя грааль, если нужно просто на джаве писать, то нето смысл в эти дебри влезать особенно без  опыта разработки  на джвм
источник

RU

Roman Ushakov in graalvm_ru
Авроамэриканец Начрэл
Планирую писать проект на java, примеряю технологии, как например graalvm. Скажите, люди имеющие опыт java разработки, чего вам не хватает в java? Не в jvm в целом, а именно в конкретном языке.

Спрашиваю, что бы предупредить свои ожидания
Тебе лучше подобный вопрос в @jvmchat задать
источник

RU

Roman Ushakov in graalvm_ru
Людей там больше
источник