Tag: 眼动

为什么在通过Edge.js从Node.js调用C#时需要等待Task.Run?

我有这个连接到Tobii EyeX眼动追踪设备的EyeX引擎的示例C#代码,订阅凝视数据stream并将结果写入控制台。 var eyeXHost = new EyeXHost(); var stream = eyeXHost.CreateGazePointDataStream(GazePointDataMode.LightlyFiltered); eyeXHost.Start(); stream.Next += (s, e) => Console.WriteLine("Gaze point at ({0:0.0}, {1:0.0}) @{2:0}", eX, eY, e.Timestamp); Console.In.Read(); 我在Edge.js的帮助下从Node.js脚本调用这段代码。 我能够得到它的工作,但我发现我不得不以我不完全理解的方式修改代码。 var eyeXHost = new EyeXHost(); var stream = eyeXHost.CreateGazePointDataStream(GazePointDataMode.LightlyFiltered); await Task.Run(() => eyeXHost.Start()); stream.Next += async (s, e) => { await onGazePoint(new GazePoint(eX, eY, e.Timestamp)); }; […]