Javascript能告诉JavaFX生成一个线程并在完成时得到通知吗

Can Javascript tell JavaFX to spawn a thread and be notified when complete?

本文关键字:线程 一个 完成时 通知 JavaFX Javascript      更新时间:2023-09-26

我想看看我是否能做到以下几点:

  • 让一些Javascript调用JavaFX
  • 让JavaFX生成一个线程来完成它从Javascript中得到的工作
  • 回到Javascript,并允许它在JavaFX处理派生线程时继续
  • 然后让JavaFX在派生线程的工作完成时通知Javascript

据我所知,Javascript并没有真正得到广泛支持的多线程。不过,我正在用Javascript和JavaFX进行一个项目,如果这样做会有所帮助。感谢您的帮助!

编辑
我使用JavaFX中的WebEngine来处理UI,并使用HTML和Javascript来创建UI。我没有使用Nashorn jjs-fx。

上周我尝试过这样做,但每次尝试从javascript回调到javafx时,虚拟机上都会出现错误。

然而,在WebEngine Api 中

http://docs.oracle.com/javafx/2/api/javafx/scene/web/WebEngine.html

在"从JavaScript回调Java"一节中有一个关于如何做到这一点的小例子。

如果这个例子对你有效,你只需要在那之后启动一个任务,并且javafx中有一篇关于并发的文章谈到了它

http://docs.oracle.com/javafx/2/threads/jfxpub-threads.htm

每次loadWorker更改时,我使用executeScript()函数检查javascript对象,如果对象存在,则执行任务。

我认为,尽管我没有检查这一点,但如果这个例子不起作用,也许你可以尝试使用WebEngine中包含的confirmHandler或promptHandler来启动你的任务。