我有一个简单的函数,可以调用API来获取所有类别的故事。响应就像这样:
{"page":1,"pageSize":1,"totalRecords":39,"nextPageUrl":"http://dkm.services/api/story/categories?SiteId=1c0ad0e3-8c70-4a0c-9dd1-3285d0b243f2&Page=2&PageSize=10","items":[{"id":"96c9219a-b1a1-4dc5-9dbc-021720d71ab0","name":"Đông Phương","url":"http://truyenfull.vn/the-loai/dong-phuong/"}]}
现在,我需要遵循nextPageUrl
属性来调用下一个调用,直到获得所有类别为止(nextPageUrl
= null)
该函数将返回一个类别数组,然后将在我的应用程序中的另一个组件中调用它。
如何链接多个电话?
谢谢大家。
答案 0 :(得分:0)
您需要递归承诺,像这样...
function getCategories(nextPageUrl, categories) {
return getCategoriesService(nextPageUrl)
.then((res) => {
if(res.nextPageUrl) {
categories.push(res.categories)
return getCategories(res.nextPageUrl, categories);
}
});
}