diff --git a/DataStore2/init.lua b/DataStore2/init.lua index 17fcf03..0e305fb 100644 --- a/DataStore2/init.lua +++ b/DataStore2/init.lua @@ -156,24 +156,26 @@ function DataStore:GetTableAsync(default, ...) assert(default ~= nil, "You must provide a default value.") return self:GetAsync(default, ...):andThen(function(result) - local changed = false - assert( - typeof(result) == "table", - ":GetTable/:GetTableAsync was used when the value in the data store isn't a table." - ) - - for defaultKey, defaultValue in pairs(default) do - if result[defaultKey] == nil then - result[defaultKey] = defaultValue - changed = true + return Promise.async(function(resolve) + local changed = false + assert( + typeof(result) == "table", + ":GetTable/:GetTableAsync was used when the value in the data store isn't a table." + ) + + for defaultKey, defaultValue in pairs(default) do + if result[defaultKey] == nil then + result[defaultKey] = defaultValue + changed = true + end end - end - if changed then - self:Set(result) - end + if changed then + self:Set(result) + end - return result + resolve(result) + end) end) end