Hi! I just wrote this asset loader utilizing nevermore engine. And I was wondering what I can do better as this is my first time doing a script utilizing promises
-- services
local ContentProvider = game:GetService("ContentProvider")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- constants
local SERVICES = {
"Workspace",
"StarterGui",
"SoundService",
"ReplicatedStorage",
}
local require = require(ReplicatedStorage:WaitForChild("Nevermore",1))
local PROMISE = require("Promise")
-- intialize
do
local promise = PROMISE.new()
local success,error = pcall(function()
for index,service in pairs(SERVICES) do
warn("Loading: " .. service)
ContentProvider:PreloadAsync({game:GetService(service)})
end
end)
if success then
warn("All Assets Loaded!")
promise:Resolve()
else
warn(error)
promise:Reject()
end
promise:Finally(function()
promise:Destroy()
end)
end