Scripts/resources/[standalone]/ox_lib/imports/streamingRequest/client.lua

22 lines
667 B
Lua
Raw Normal View History

2024-12-30 10:15:34 +00:00
---@async
---@generic T : string | number
---@param request function
---@param hasLoaded function
---@param assetType string
---@param asset T
---@param timeout? number
---@param ... any
---Used internally.
function lib.streamingRequest(request, hasLoaded, assetType, asset, timeout, ...)
if hasLoaded(asset) then return asset end
request(asset, ...)
return lib.waitFor(function()
if hasLoaded(asset) then return asset end
end, ("failed to load %s '%s' - this may be caused by\n- too many loaded assets\n- oversized, invalid, or corrupted assets"):format(assetType, asset),
timeout or 30000)
end
return lib.streamingRequest