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();
}