函数: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 北京帮你玩科技有限公司 2020 all right reserved,powered by Gitbook该文章修订时间: 2020-09-27 12:37:30

results matching ""

    No results matching ""