Вопрос о scalajs и javascript.функция экспорта в глобальную область в scalajs
Как отметить функцию, которая будет экспортироваться исключительно в глобальную область?
Данный объект в пакете Scala верхнего уровня
@JSExport
object Foo{
def apply(a: Int, b: Int): String = "bar"+a+b
}
Я хотел бы скомпилировать этот код SCALA в Javascript и иметь эту функцию с именем Foo
в глобальном масштабе. Другими словами, я хотел бы иметь javascript, аналогичный этому:
function Foo(a,b) {
return 'bar'+a+b;
}
Возможно ли использование скайайсов?
Я пишу компонент в javascript, на который будут ссылаться сторонние API, на которые не может повлиять я. Вот почему мне просто нужно следовать их правилам и предоставлять функции javascript в глобальной области.
Хм - необычная просьба. Как работает API? Ожидается, что вы передадите * имя * функции, определенной в глобальной области, или что-то в этом роде? –
API требует определения скрипта с функциями в глобальной области действия с определенными именами, например, '' 'function anything() {...}' '', который будет вызываться всякий раз, когда происходит какое-либо событие. Подробнее см. Https://docs.cycling74.com/max7/vignettes/jsbasic. –
Собственно, это дубликат: http://stackoverflow.com/questions/27440235/using-scala-js-method-as-callback – gzm0