【问题标题】:How to not wait a function until it ends?如何不等到函数结束?
【发布时间】:2019-10-13 19:41:16
【问题描述】:

我有两个功能:

function f1(a:String) {
    // long processes with a...
}

function f2() {
    f1("Hey");
    ...
}

我想要的是:

当我从f2 拨打f1 时,我不想让f2 被屏蔽。在代码中的某个时刻,我也不希望 f1 完成(比如加入线程)

我只想叫它然后忘记。它自行运行并自行完成。

如何在 Haxe 中进行管理?谢谢!

【问题讨论】:

    标签: asynchronous haxe


    【解决方案1】:

    使用 Haxe

    使用 Haxe 4 - 即使在其当前的候选版本状态下,您也可以使用 sys.thread.Thread 实现此目的。每次你想创建一个线程来执行你的函数时,只需调用Thread.create。需要注意的一件事是,这个函数接受一个没有参数的函数,它什么也不返回。如果您的函数采用一个或多个参数,您可以调用它的 bind 方法,如下所述:https://haxe.org/manual/lf-function-bindings.html

    长话短说:

    import sys.thread.Thread;
    
    function f2() {
        var f1thread = Thread.create(f1.bind("Hey")); // runs instantly
    }
    

    不用说,你应该检查你正在编译的平台是否有线程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-26
      • 2021-01-23
      • 2023-03-21
      • 1970-01-01
      • 2019-01-31
      • 1970-01-01
      • 2023-03-05
      相关资源
      最近更新 更多