学习
引擎类
Pages
无法创建
未复制

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处


概要
继承成员
代码示例
页面迭代器
-- 将页面重新格式化为表格
local function pagesToTable(pages)
local items = {}
while true do
table.insert(items, pages:GetCurrentPage())
if pages.IsFinished then
break
end
pages:AdvanceToNextPageAsync()
end
return items
end
local function iterPageItems(pages)
local contents = pagesToTable(pages)
-- 从1开始跟踪当前页面编号
local pageNum = 1
-- 获取最后一页的编号,以免迭代它
local lastPageNum = #contents
-- 为resume这个协程,直到没有可以处理的内容
return coroutine.wrap(function()
-- 循环直到页面编号大于最后一页编号
while pageNum <= lastPageNum do
-- 遍历当前页面的所有条目
for _, item in ipairs(contents[pageNum]) do
-- 暂停循环以让开发者处理条目和页面编号
coroutine.yield(item, pageNum)
end
pageNum += 1
end
end)
end
-- 使用iterPageItems函数遍历目录搜索的页面
local AvatarEditorService = game:GetService("AvatarEditorService")
local parameters = CatalogSearchParams.new()
parameters.SearchKeyword = "Hair"
local catalogPages = AvatarEditorService:SearchCatalogAsync(parameters)
for item, pageNumber in iterPageItems(catalogPages) do
print(item, pageNumber)
end

API 参考
属性
IsFinished
只读
未复制
读取并联
Pages.IsFinished:boolean

方法
AdvanceToNextPageAsync
暂停
Pages:AdvanceToNextPageAsync():()
返回
()

GetCurrentPage
Pages:GetCurrentPage():{any}
返回

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。