Tag: jint

Jint ArrayfunctionECMA 5.1

我正在尝试使用Jint(v2.10.4.0)将一个任意JSON结构转换为另一个。 但是,我在使用地图时遇到问题。 根据ECMA 5.1语言规范,Array.prototye 上应该存在map 。 但是,当我尝试使用它时,我收到一个错误: Jint.Runtime.JavaScriptException: ‘对象没有方法’map” 我正在测试这个 Engine engine = new Engine(); var doubles = engine.SetValue(“x”, “[ 1, 2, 3, 4, 5 ]”) .Execute(“x.map(function(a){ return a + a; })”) .GetCompletionValue() .ToObject(); Console.WriteLine(doubles); Console.ReadKey(); 理想情况下,我也想使用find,尽管这是ECMA6。 有没有什么我缺少使用Array.Prototype.map或有没有方法为Jint引入polyfill?

如何在JINT Javascript端创建计时器

我正在使用JINT( https://github.com/sebastienros/jint )开发一个C#项目,我需要在我的JS上创建一个计时器,这样每次定时器时间设置结束时它都可以在我的javascript上执行一个函数。 我怎么能做到这一点? 我使用了setInterval或setTimeout函数,但似乎它们不是JINT的一部分,因为它基于ECMASCRIPT,并且这些函数不是本机的。 谁能告诉我怎么做到这一点? 谢谢!!

JInt需要另一个js文件

我正在寻找一种在JInt中包含另一个js文件的方法(用于C#Unity的javascript解释器)。 我明白我可以简单地将所有js文件连接到一个字符串并通过正常方式运行它。 但我不想指定要加载的确切文件以及文件加载顺序。 我在文件夹和子文件夹中有未定义的文件数量,我只知道哪个文件是main.js. 有可能使用来自nodejs的require(’file.js’),或者这是一个完全糟糕的主意吗? 谢谢。 PS该项目旨在在Unity-JInt下运行。

C# – 异步返回一个值

private TaskCompletionSource response; private string _text = “”; public void SetResult(bool result) { this.response.SetResult(result); } public async Task SendYesNo() { response = new TaskCompletionSource(); MessageBox.Show(this._text, “”, MessageBoxButtons.YesNo); this._text = “”; return response.Task.Result; } 我正在使用这个在JavaScript脚本文件中执行的代码, 因此我无法调用await关键字。 我想在使用SetResult 设置它之后返回一个布尔值。 如果没有设置响应,它将一直等到它被设置,并且在设置之前不会返回任何内容。 它也必须是同步的。 如何在没有任务的情况下实现这一点(因为我不能在JavaScript中使用await关键字)?