Как использовать socket.io-client в KotlinJS
Я хочу использовать клиентскую библиотеку socket.io из nodejs в моем проекте React-Kotlin.
Пытался загрузить вот так:
@file:JsModule("socket.io-client")
@file:JsNonModule
package modules
@JsName("Manager")
external fun socket(uri: String): dynamic
Затем клиент подключится к серверу, когда я вызову его с помощью этой функции val s = socket("http://localhost:8080/")
но когда я вызываю такой выброс s.emit("testemit", mapOf("test" to false))
он его не отправляет. Если я изменюs.emit
к чему-то еще, чего нет в socket.io-client, я получаю сообщение об ошибке, что функция не существует.
1 ответ
Решение
Это должно работать примерно так:
val socket = kotlinext.js.require("socket.io-client")("http://localhost:8080/")
socket.emit("testemit", json("test" to false)) { result -> println(result) }