Я задаю этот вопрос, потому что я не понимаю объяснения, приведенного к вопросам, которые я искал, поэтому эта проблема, вероятно, встречается довольно часто. Я использую код другого человека, чтобы попытаться узнать, как он работает, чтобы повторить его. В одном из методов для инъекций оригинальный автор возвращает обещание, и я пытаюсь получить «внутренности» обещания от метода, в который оно было введено.
Я отправлю код:
Это авторский код
getLists(){
return this.isReady()
.then(()=>{
return this.database.executeSql("SELECT * from list", [])
.then((data)=>{
let lists = [];
for(let i=0; i<data.rows.length; i++){
lists.push(data.rows.item(i));
console.log(i);
}
return lists;
})
})}
и вот что я более или менее делаю, но не работает, потому что типы не совпадают (строка [] не совпадает с Promise)
`
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { DatabaseService } from '../../app/database-service';
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers:[DatabaseService],
})
export class HomePage {
listas:string[];
constructor(public navCtrl: NavController, private service:DatabaseService ) {
}
getLists(){
this.listas=this.service.getLists();
}
getList(){
this.service.getList(0);
}
addList(){
this.service.addList("Shazam");
}
deleteList(){
this.service.deleteList(0);
}
}`
Спасибо за ваше терпение и понимание.