gpt4 book ai didi

angular - 无法在 ionic 功能之外获得 promise 值

转载 作者:搜寻专家 更新时间:2023-10-30 21:57:37 25 4
gpt4 key购买 nike

我试图在我的函数之外获取 promise 的值,但它返回了 undefined

这是我试过的代码:

Home.ts

class Home{

dd:any;

constructor(public dbHelpr:DbHelperProvider){

}

getData(){

this.dbHelpr.getRecordById("51").then(function(res:any){

dd = res
console.log("dd in "+dd);

});

console.log("dd out "+dd);
}

}

DbHelperProvider.ts

getRecordById(_id){

return new Promise(resolve => {
this.db.get(_id).then(function (doc) {

resolve(doc);
}).catch(function (err) {
console.log(err);
resolve("fail");
});
})

}

我的日志显示:dd inside abcdef

dd 在未定义之外

我该如何解决这个问题?

提前致谢!

最佳答案

因为 console.log("dd out "+dd);console.log("dd in "+dd); 之前调用(因为异步性质promise 的),因此您对 dd out 未定义。

doc 分配给 .then 中的全局变量,即

  this.db.get(_id).then(function (doc) {

resolve(doc);
// assign to global var here.
})

关于angular - 无法在 ionic 功能之外获得 promise 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52040402/

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