요약
메서드
상속된 멤버
코드 샘플
페이지 반복기
-- 페이지를 테이블로 재구성합니다.
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
-- 아무것도 처리할 것이 없을 때까지 이 코루틴을 재개합니다.
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 = "헤어"
local catalogPages = AvatarEditorService:SearchCatalogAsync(parameters)
for item, pageNumber in iterPageItems(catalogPages) do
print(item, pageNumber)
endAPI 참조
속성
메서드
AdvanceToNextPageAsync
Pages:AdvanceToNextPageAsync():()
반환
()