I have a model called QClass
export interface QClass {
rowid: number;
Category: string;
Question: string;
Image: string;
Option1: string;
Option2: string;
Option3: string;
Option4: string;
Answer: number;
}
I then have a database provider which returns the Promise
selectData(): Promise<QClass[]> {
console.log('selectData Called')
return this.database.executeSql('SELECT * FROM question ORDER BY rowid DESC', [])
.then(res => {
console.log('Selected from table SQL')
for (var i = 0; i < res.rows.length; i++) {
this.questions.push({ rowid: res.rows.item(i).rowid, Category: res.rows.item(i).Category, Question: res.rows.item(i).Question, Image: res.rows.item(i).Image, Option1: res.rows.item(i).Option1, Option2: res.rows.item(i).Option2, Option3: res.rows.item(i).Option3, Option4: res.rows.item(i).Option4, Answer: res.rows.item(i).Answer });
console.log("Pushed item " + i + " - " + res.rows.item(i).Question);
}
return this.questions;
})
}
But then when i call this in my page it gives me the error "Cannot invoke an expression whose type lacks a call signature. Type 'QClass[]' has no compatible call signatures." on the line questions(i).Category
this.databaseprovider.selectData().then((questions) => {
this.questions = questions;
for (var i = 0; i < questions.length; i++) {
console.log("Pushed item " + i + " - " + questions(i).Category);
}
});
Can You pls suggest the issue?