Task (任務)

Roblox 通過引入 task 庫更新了處理異步任務的最佳實踐。與較早的 spawn、delay 和 wait 函數相比,task 庫提供了一種更簡潔、更高效的方式來處理後台任務。task 庫包括 task.spawn, task.delay 和 task.wait 等方法,旨在更可靠並提供更好的性能。
操作詳情
task.spawntask.spawn 用於異步運行函數而不阻塞調用者。
task.delaytask.delay 用於在指定的延遲後執行函數,允許創建定時或延遲的操作而不阻塞其他操作。
task.waittask.wait 用於暫停當前任務指定的時間段。

task.spawn

local function doBackgroundTask()
    print("Background task started")
    for i = 1, 10 do
        print("Processing step " .. i)
        wait(1)  -- Simulate some processing delay
    end
    print("Background task completed")
end

print("Main script execution")
task.spawn(doBackgroundTask)
print("Main script continues immediately after launching background task")
Image 1
Roblox Studio

task.delay

local function delayedTask()
    print("Delayed task executed after 5 seconds")
end

print("Main script execution")
task.delay(5, delayedTask)  -- Delay execution of delayedTask by 5 seconds
print("Main script continues immediately after scheduling delayed task")
Image 1
Roblox Studio

task.wait

local function waitForSomeTime()
    print("Wait starting")
    task.wait(5)  -- Pauses this function, not the entire script, for 5 seconds
    print("Wait ended after 5 seconds")
end

print("Main script execution")
task.spawn(waitForSomeTime)
print("Main script continues immediately, while waitForSomeTime pauses internally")
Image 1
Roblox Studio