Size: a a a

2021 February 25

УТ

Устинов Тихон... in Kotlin JS
источник

УТ

Устинов Тихон... in Kotlin JS
источник

УТ

Устинов Тихон... in Kotlin JS
но если в котлине он расширился
источник

УТ

Устинов Тихон... in Kotlin JS
тут в тесте ок
источник

УТ

Устинов Тихон... in Kotlin JS
то в js он не попадает в этот класс
источник

УТ

Устинов Тихон... in Kotlin JS
а находится как функция
источник

MG

Max Gusev in Kotlin JS
Ой,  в тестах корутины я так и не победил кстати
источник

AN

Alexander Nozik in Kotlin JS
Устинов Тихон
У чего можно вызвать этот asPromise если метод что-то ждет, и падает если туда ничего не передать, как минимум это не удобно для наших клиентов, так как им придется передавать что-то
Я не понял ничего про передать. Promise и Deferred делают примерно одно и то же за исключением тонкостей со structured concurrency и отменой. Если вы создаете асинхронные штуки со стороны котлин, заорачиваете их в промисы при экспорте. Если со стороны JS, конвертите промисы в deferred опять же на стороне котлин
источник

AN

Alexander Nozik in Kotlin JS
Max Gusev
Ой,  в тестах корутины я так и не победил кстати
fun testSomething = Promise{...} что-то в этом роде
источник

УТ

Устинов Тихон... in Kotlin JS
Alexander Nozik
Я не понял ничего про передать. Promise и Deferred делают примерно одно и то же за исключением тонкостей со structured concurrency и отменой. Если вы создаете асинхронные штуки со стороны котлин, заорачиваете их в промисы при экспорте. Если со стороны JS, конвертите промисы в deferred опять же на стороне котлин
есть класс написан в common там использовать Promise я не могу так как это фишка JS
следовательно мне нужно в js создать метод где будет promise в чем у меня собственно проблема
источник

AN

Alexander Nozik in Kotlin JS
Устинов Тихон
есть класс написан в common там использовать Promise я не могу так как это фишка JS
следовательно мне нужно в js создать метод где будет promise в чем у меня собственно проблема
Ну, делаете deferred в коммон, а в jsMain делаете обертку с JsExport.
источник

УТ

Устинов Тихон... in Kotlin JS
Alexander Nozik
Ну, делаете deferred в коммон, а в jsMain делаете обертку с JsExport.
что мне еще сделать чтобы эта функция появилась в этом классе в js?
источник

BP

Bogdan Panchenko in Kotlin JS
Устинов Тихон
что мне еще сделать чтобы эта функция появилась в этом классе в js?
Пока непонятно что не работает. Указан ресивер на объекте должны вызвать
источник

BP

Bogdan Panchenko in Kotlin JS
Если конечно нет member fun loadAsync -. тогда именно он будет вызываться
источник

УТ

Устинов Тихон... in Kotlin JS
мне тоже не понятно, я ожидаю что в классе LoaderApi на js появится метод loadAsync, но он там не появляется, а сам метод появляется о отдельно на импортируемом объекте объекте
то есть если я делаю
let obj = require('./lib.js')
то в obj.ompo - моя библиотека с правильной структурой классов
и obj.loadAsync - этот самый метод 🤷‍♂️
источник

УТ

Устинов Тихон... in Kotlin JS
и не понятно, я что не так делаю, баг, или так и должно быть
источник

BP

Bogdan Panchenko in Kotlin JS
Устинов Тихон
мне тоже не понятно, я ожидаю что в классе LoaderApi на js появится метод loadAsync, но он там не появляется, а сам метод появляется о отдельно на импортируемом объекте объекте
то есть если я делаю
let obj = require('./lib.js')
то в obj.ompo - моя библиотека с правильной структурой классов
и obj.loadAsync - этот самый метод 🤷‍♂️
В js ничего не появиться. Это же не магия (хотя мы в котлин джс чате), это можно дергать из котлин.

Вопрос зачем вам тогда котлин с корутинами ? Если один метод вызвать нужно
источник

BP

Bogdan Panchenko in Kotlin JS
Устинов Тихон
и не понятно, я что не так делаю, баг, или так и должно быть
Нужно понимать во что компилируется экстеншины. В jvm это статик методы, с передачей this, первым аргументом
источник

с#

саша сок #KotlinGang... in Kotlin JS
Устинов Тихон
мне тоже не понятно, я ожидаю что в классе LoaderApi на js появится метод loadAsync, но он там не появляется, а сам метод появляется о отдельно на импортируемом объекте объекте
то есть если я делаю
let obj = require('./lib.js')
то в obj.ompo - моя библиотека с правильной структурой классов
и obj.loadAsync - этот самый метод 🤷‍♂️
в котлине есть promise { ... } с суспендом внутри. а если не секрет, какой юзкейс? зачем вам жс + к/жс?
источник

с#

саша сок #KotlinGang... in Kotlin JS
бибилотеку может делаете для жс на к/жс
источник