我有任何对象数组,如下所示:
let PAGES = [
new BasePage(
'home',
'test')
];
let pagesPromise = Promise.resolve(PAGES);
我现在正试图通过调用以下方法返回BasePage
个对象。
getPageByPage(name: string): BasePage {
let page: BasePage;
pagesPromise.
then(pages => page = pages.find(p => p.name === name));
return page;
}
变量page
未定义 - 我不确定如何解决此问题。此外,我也不确定我是否滥用承诺原则。
答案 0 :(得分:0)
return page
在pagesPromise解析之前执行。变量page
将仅包含调用它的分辨率函数中的.find的结果...
pagesPromise.
then(pages => page = pages.find(p => p.name === name)).
then(() => console.log(page));