MOBILE-4089 forum: Fix infinite loop in getDiscussionsInPages
parent
98e54d05be
commit
585f669641
|
@ -845,8 +845,6 @@ export class AddonModForumProvider {
|
||||||
forumId: number,
|
forumId: number,
|
||||||
options: AddonModForumGetDiscussionsInPagesOptions = {},
|
options: AddonModForumGetDiscussionsInPagesOptions = {},
|
||||||
): Promise<{ discussions: AddonModForumDiscussion[]; error: boolean }> {
|
): Promise<{ discussions: AddonModForumDiscussion[]; error: boolean }> {
|
||||||
options.page = options.page || 0;
|
|
||||||
|
|
||||||
const result = {
|
const result = {
|
||||||
discussions: [] as AddonModForumDiscussion[],
|
discussions: [] as AddonModForumDiscussion[],
|
||||||
error: false,
|
error: false,
|
||||||
|
@ -859,7 +857,10 @@ export class AddonModForumProvider {
|
||||||
|
|
||||||
const getPage = (page: number): Promise<{ discussions: AddonModForumDiscussion[]; error: boolean }> =>
|
const getPage = (page: number): Promise<{ discussions: AddonModForumDiscussion[]; error: boolean }> =>
|
||||||
// Get page discussions.
|
// Get page discussions.
|
||||||
this.getDiscussions(forumId, options).then((response) => {
|
this.getDiscussions(forumId, {
|
||||||
|
...options,
|
||||||
|
page,
|
||||||
|
}).then((response) => {
|
||||||
result.discussions = result.discussions.concat(response.discussions);
|
result.discussions = result.discussions.concat(response.discussions);
|
||||||
numPages--;
|
numPages--;
|
||||||
|
|
||||||
|
@ -876,7 +877,7 @@ export class AddonModForumProvider {
|
||||||
})
|
})
|
||||||
;
|
;
|
||||||
|
|
||||||
return getPage(options.page);
|
return getPage(options.page ?? 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue