Вы не можете, обещание разрешится позже. Когда вы вызываете функцию 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));