函数:thread.create 创建协程

函数名称:创建协程

函数功能:创建一个协程

引擎版本:iOS v2.3.9,Android v2.3.4 以上

函数方法

tid = thread.create(task,back)

参数 类型 必填 说明
task funtion 将该函数加入队列
back table 错误回调,当执行任务时发生错误异常,则会回调这个函数并不再抛出
返回值 类型 说明
tid number 协程 ID,ID 可用于结束或是等待一个任务

函数用例

--小精灵使用此函数需要勾选网络插件
local thread = require('thread')
--处理协程的错误
local thread_id = thread.create(function()
    mSleep(1000)
    --故意制造的错误
    --a()
    --抛出异常
    thread.throw("协程抛出异常")
    return 100
end,{
    callBack = function()
        --协程结束会调用,不论是错误、异常、正常结束
        dialog("协程结束了",0)
    end,
    errorBack = function(err)
        --协程错误结束,一般是引用空调用,err 是字符串
        dialog("协程错误了:"..err,0)
    end,
    catchBack = function(exp)
        --协程异常结束,异常是脚本调用了 throw 激发的,exp 是 table,exp.message 是异常原因
         local ts = require('ts')
        local cjson = ts.json
        dialog("协程异常了\n"..json.encode(exp),0)
    end

})
thread.waitAllThreadExit()--等待所有协程结束,只能用于主线程

注意事项

  • 小精灵使用此函数需要勾选网络插件。
Copyright 北京帮你玩科技有限公司 2024 all right reserved,powered by Gitbook该文章修订时间: 2024-10-08 11:38:05

results matching ""

    No results matching ""