运行 kotlin 中的 rxjs 使用 Duktape Android return SyntaxError

Run rxjs in kotlin using Duktape Android return SyntaxError

我尝试使用 duktape-android 库在 android 应用程序中 运行 简单的 rxjs 脚本,但我找不到可行的方法。

val duktape = Duktape.create()
implementConsole(duktape)

duktape.evaluate("global = {}")
duktape.evaluate(loadData("rxjs.umd.min.js"))
run(duktape)

我在应用断言中放入了 rxjs 的最小版本。我实现了控制台,设置了全局上下文,然后尝试从文件中调用一些函数。这是我的 运行 方法:

private fun run(duktape: Duktape) {
    duktape.evaluate("""
      const range = rxjs;
      const filter = rxjs.operators;
      const map = rxjs.operators;
      range(1, 200).pipe(
        filter(x => x % 2 == 1),
        map(x => x + x)
      ).subscribe(x => console.log(x));
      """) }

结果是DuktapeException: SyntaxError: parse error (line 6)。行是调用过滤器函数的行。

知道使用 duktape-android 从 rxjs 调用函数的语法应该如何吗?

duktape 只支持 ES5,也就是说不支持数组函数。另请参阅兼容性章节:https://duktape.org/guide.html#compatibility