使用云数据

Cloud 节点,可以使用 GetService 函数获取。负责 Cloud 相关服务。

同步设置kv值

云服节点通过setValue 或 getValue 同步设置或同步获取kv值

local service = game:GetService("CloudService")

local status,value = service:setValue("test_1","global","20000")
utils.print("111",status,value)

status,value = service:getValue("test_1","global")
utils.print("222",status,value)

异步设置kv值

云服节点通过setValueAsync 或 getValueAsync 异步设置或异步获取kv值

local service = game:GetService("CloudService")

service:setValueAsync("test_1","global","30000",function(status, value) 
    utils.print("33333",status,value)
end)

service:getValueAsync("test_1","global",function(status, value) 
    utils.print("44444",status,value)
end)

代码示例

local utils = {}
function utils.run(func)
    local status,err,ret = xpcall(func,debug.traceback)
    if not status then
        print("err = " .. tostring(err))
        print("ret = " .. tostring(ret))
    end
end

function utils.print(...)
    local args = {...}
    args[#args + 1] = '\n'
    local tab = {}
    for i, v in ipairs(args) do
        tab[i] = tostring(v)
    end
    print(table.concat(tab,' '))
end

utils.run(function() 
    local service = game:GetService("CloudService")

    local status,value = service:setValue("test_1","global","20000")
    utils.print("1111",status,value)

    status,value = service:getValue("test_1","global")
    utils.print("22222",status,value)

    service:setValueAsync("test_1","global","30000",function(status, value) 
        utils.print("33333",status,value)
    end)

    service:getValueAsync("test_1","global",function(status, value) 
        utils.print("44444",status,value)
    end)


    local idx = 0
    while idx <= 40 do
        wait(1)
        utils.print("55555",idx)
        idx = idx + 1
    end
end)

print("finish")
  • 日志输出:
线程 0x50cc 已退出,返回值为 0 (0x0)。
线程 0x5070 已退出,返回值为 0 (0x0)。
my log "[path:game.WorkSpace.ScriptObject] 1111 true 20000 \n"
线程 0x5d78 已退出,返回值为 0 (0x0)。
线程 0x57f8 已退出,返回值为 0 (0x0)。
my log "[path:game.WorkSpace.ScriptObject] 22222 true 20000 \n"
线程 0x11f0 已退出,返回值为 0 (0x0)。
线程 0x519c 已退出,返回值为 0 (0x0)。
my log "[path:game.WorkSpace.ScriptObject] 33333 true 30000 \n"
[WRN] OutputWASAPI::mixerThread                : Starvation detected in WASAPI output buffer!
线程 0x3d08 已退出,返回值为 0 (0x0)。
线程 0xadc 已退出,返回值为 0 (0x0)。
my log "[path:game.WorkSpace.ScriptObject] 44444 true 30000 \n"

my log "[path:game.WorkSpace.ScriptObject] 55555 0 \n"
my log "[path:game.WorkSpace.ScriptObject] 55555 1 \n"
my log "[path:game.WorkSpace.ScriptObject] 55555 2 \n"
my log "[path:game.WorkSpace.ScriptObject] 55555 3 \n"
my log "[path:game.WorkSpace.ScriptObject] 55555 4 \n"
my log "[path:game.WorkSpace.ScriptObject] 55555 5 \n"
my log "[path:game.WorkSpace.ScriptObject] 55555 6 \n"
my log "[path:game.WorkSpace.ScriptObject] 55555 7 \n"
my log "[path:game.WorkSpace.ScriptObject] 55555 8 \n"
Last Updated: