我正在尝试做一个基本的检查,看看myAnswer是否有答案,我所有的检查功能都工作得很好。我的问题是,在应该返回从myAnswer获得的字符串的最终函数中,它正在返回[object Promise]。我不知道为什么在我解决承诺时,这不是直接返回我的String而是闪烁[object promise]。
如果我能得到一些帮助,那就太好了!
this.myAnswer = XapiStoreService.retrieveQuestionFillIn(this.app.getStudent(), pages[pageIndex])
.then((answer:string) => {
this.myAnswer = answer;
}, (reason:string) => {
this.myAnswer = '';
});
答案 0 :(得分:2)
你在做
this.myAnswer = XapiStoreService.retrieveQuestionFillIn(…).then(…);
将承诺分配给myAnswer
。那是您在诺言兑现并覆盖myAnwer
之前不久就看到的那个。您可能想要类似
this.myAnswer = "loading";
XapiStoreService.retrieveQuestionFillIn(this.app.getStudent(), pages[pageIndex]).then((answer:string) => {
this.myAnswer = answer;
}, (reason:string) => {
this.myAnswer = 'error';
console.error(reason);
});