add gs
This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
||||
local CorePackages = game:GetService("CorePackages")
|
||||
|
||||
local Actions = CorePackages.AppTempCommon.LuaApp.Actions
|
||||
local Requests = CorePackages.AppTempCommon.LuaApp.Http.Requests
|
||||
|
||||
local UsersGetThumbnail = require(Requests.UsersGetThumbnail)
|
||||
local SetUserThumbnail = require(Actions.SetUserThumbnail)
|
||||
local Promise = require(CorePackages.AppTempCommon.LuaApp.Promise)
|
||||
|
||||
local function fetchThumbnailsBatch(networkImpl, userIds, thumbnailRequest)
|
||||
local fetchedPromises = {}
|
||||
|
||||
for _, userId in pairs(userIds) do
|
||||
table.insert(fetchedPromises,
|
||||
UsersGetThumbnail(userId, thumbnailRequest.thumbnailType, thumbnailRequest.thumbnailSize)
|
||||
)
|
||||
end
|
||||
|
||||
return Promise.all(fetchedPromises)
|
||||
end
|
||||
|
||||
return function(networkImpl, userIds, thumbnailRequests)
|
||||
return function(store)
|
||||
-- We currently cannot batch request user avatar thumbnails,
|
||||
-- so each thumbnailRequest has to be processed individually.
|
||||
|
||||
local fetchedPromises = {}
|
||||
for _, thumbnailRequest in pairs(thumbnailRequests) do
|
||||
table.insert(fetchedPromises,
|
||||
fetchThumbnailsBatch(networkImpl, userIds, thumbnailRequest):andThen(function(result)
|
||||
for _, data in pairs(result) do
|
||||
store:dispatch(SetUserThumbnail(data.id, data.image, data.thumbnailType, data.thumbnailSize))
|
||||
end
|
||||
end)
|
||||
)
|
||||
end
|
||||
|
||||
return Promise.all(fetchedPromises)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user