Preloading not working

function MapEffectModule.preloadTextures(textureIds)

local a = {}

	for _, id in ipairs(textureIds) do
		ContentProvider:PreloadAsync({"rbxassetid://" .. tostring(id)})
	end

end

MapEffectModule.preloadTextures({
2801760198,2801768094,2801751773,2801751501,2818152747,2801605712,2818152577,2801778896,74214323989485,2801605712,2801778896,2801760198,2818152747,104029319119410,2801785860,74695458662407,2818152577})

The preloading isnt working, when I tried to test it before with printing the tables of the id’s, it was fine. I am currently thinking of having those id’s as decals all inside a folder however I think it may eat performance, do you guys know how I can fix this?

ContentProvider:PreloadAsync() expects a table of assets, but you’re calling it in a loop for each individual ID … “a” is declared but never used.

Can you possibily explain how this code works? The vim.tbl_map doesnt exist and I assume its from like another script, I have no idea what it is or what I have to replace it with, with the a = {}, the function just used to table.insert individual textures after loading them into a image, but I just got rid of it because it never worked