gpt4 book ai didi

javascript - 如何从接口(interface)或 promise 的内容中获取 "recieve" promise ?

转载 作者:行者123 更新时间:2023-11-28 17:31:43 26 4
gpt4 key购买 nike

我问这个问题是因为我不明白我搜索的问题所提供的解释,所以这个问题可能很常见。我使用另一个人的代码来尝试了解它是如何工作的,以便复制它。在可注入(inject)的方法之一中,原作者返回一个 promise ,我试图从注入(inject)的方法中获取 promise 的“内部”。

我将发布代码:这是作者的代码

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

这是我或多或少在做的事情,但不起作用,因为类型不同(string[] 与 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);
}

}`

感谢您的耐心和理解。

最佳答案

当数据准备好时,只需设置listas:

 getLists(){
this.service.getLists().then(lists => this.listas = lists);
}

或者使用另一种语法:

 async getLists(){
this.listas = await this.service.getLists();
}

关于javascript - 如何从接口(interface)或 promise 的内容中获取 "recieve" promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50235132/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com