【发布时间】:2015-11-16 04:23:54
【问题描述】:
我正在尝试使用来自my scala.js app 的this javascript 库(简化的可运行示例)。
我可以成功使用 api 的某些部分,但对于其他部分,我无法确定我的 Scala 外观的正确类型签名。
例如,如果一个 javascript 函数返回 { text: 'June 5th 1998', ... } 我可以定义 scala.js 类来表示该函数并且以下成功:
class Value extends js.Object {
def date(): js.Dictionary[Int] = js.native
}
object nlp extends js.Object {
def sentences(text: String): js.Array[Sentence] = js.native
def value(text: String): Value = js.native
}
nlp.value("I married April on June 6th 1998.").date()
但是,如果 javascript 返回一个相同的数组(例如[{ text: ...}, { text: ...}]),或者即使它返回一个简单的String(例如"June 5th and June 6th",因为以下编译但在运行时失败,@987654328 @:
class Sentence extends js.Object {
def text(): String = js.native
def values(): js.Array[Value] = js.native
}
val sentences = nlp.sentences(splittableText)
sentences.map( sentence => sentence.values() )
// Or `sentences.map( sentence => sentence.text() )`
如何使用来自 scala.js 的这个 javascript api?
非常感谢您的观看。
【问题讨论】: