요약
메서드
상속된 멤버
코드 샘플
페이지 반복기
-- 페이지를 테이블로 재구성합니다
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():()
반환
()