无法从承诺返回输出



>我有以下代码

getNotesContent(){  
this.svsDb.getNotes(this.order_info.orderid).then(
data=>{
console.log("the list of notes content...", data);
data.history.forEach( (notes:any)=>
this.noteList.push(
{
stack:[
{text: 'Date: ' + notes.created_date},
{text: 'Note/Comments: ' + notes.notes},
{ text: '--------------------------' },
]
}
)
)
}); 
return this.noteList;    
}

我的返回值始终为空。有人可以让我知道如何让这个函数返回一个值吗?谢谢你的帮助。

一个

你不能,承诺稍后会解决。 当您调用getNotesContent()函数时,它将在出现任何结果之前返回。 看起来您正在返回稍后将填充的数组,因此它将具有您想要的值。 但是,如果调用方需要等待并处理这些结果,则应返回一个承诺,并且调用方应调用then()

getNotesContent(){  
return this.svsDb.getNotes(this.order_info.orderid)
.then(data => {
console.log("the list of notes content...", data);
data.history.forEach((notes:any) => {
this.noteList.push(
{
stack:[
{text: 'Date: ' + notes.created_date},
{text: 'Note/Comments: ' + notes.notes},
{text: '--------------------------'},
]
}
);
});
return this.noteList; // this will now be the promise results
}); 
}
// sample call
getNotesContent().then(noteList => console.dir(noteList));

相关内容

  • 没有找到相关文章

最新更新