Here for exemple I have a method that returns the number of campaigns

I want to get campaign details for the number of campaigns returned

public async getDeployedCampaigns(): Promise<CampaignList[]> {
    const campaignsCount = await this.CampaignFactoryContract.methods
      .getDeployedCampaignsCount()
      .call();
    const campaigns = await Promise.all(
      Array(parseInt(campaignsCount))
        .fill(campaignsCount)
        .map((element, index) => {
          return this.CampaignFactoryContract.methods
            .deployedCampaigns(index)
            .call();
        })
    );
    return campaigns;
  }

Same for requests

public getRequests(address: string): Observable<Request[]> {
    let requests = null;
    let subject = new Subject<Request[]>();
    this.getRequestsCount(address).subscribe(async (count) => {
      requests = await Promise.all(
        Array(parseInt(count))
          .fill(count)
          .map((element, index) => {
            return this.CampaignContract.methods.requests(index).call();
          })
      );
      subject.next(requests);
    });
    return subject.asObservable();
  }