- 315
- 58
- Версия MoonLoader
- Другое
Как сделать что бы во время выполнения httpRequest игра не зависала?
httpRequest:
function httpRequest(method, request, args, handler) -- lua-requests
-- start polling task
if not copas.running then
copas.running = true
lua_thread.create(function()
wait(0)
while not copas.finished() do
local ok, err = copas.step(0)
if ok == nil then error(err) end
wait(0)
end
copas.running = false
end)
end
-- do request
if handler then
return copas.addthread(function(m, r, a, h)
copas.setErrorHandler(function(err) h(nil, err) end)
h(requests.request(m, r, a))
end, method, request, args, handler)
else
local results
local thread = copas.addthread(function(m, r, a)
copas.setErrorHandler(function(err) results = {nil, err} end)
results = table.pack(requests.request(m, r, a))
end, method, request, args)
while coroutine.status(thread) ~= 'dead' do wait(0) end
return table.unpack(results)
end
end