Javascript 如何将promise数组注入到可观测数组中

Javascript 如何将promise数组注入到可观测数组中,javascript,angular,promise,rxjs,observable,Javascript,Angular,Promise,Rxjs,Observable,我正在基于身份验证构建一个用户菜单,所有功能都正常工作,但我有一部分菜单是从APIgetMainCategories()apromisetype方法获得的 我需要将来自该方法的数据注入到我的菜单数组中的特定对象上 此处: let菜单:任意=[ ... { 文本:“类别”, 图标:“flaticon-2-squares”, children:[//我需要在这里注入类别 }, ... ]; 在下面的代码中,您会注意到我已经将promisegetMainCategories转换为observable

我正在基于身份验证构建一个用户菜单,所有功能都正常工作,但我有一部分菜单是从API
getMainCategories()
a
promise
type方法获得的

我需要将来自该方法的数据注入到我的菜单数组中的特定对象上

此处:

let菜单:任意=[
...
{
文本:“类别”,
图标:“flaticon-2-squares”,
children:[//我需要在这里注入类别
},
...
];
在下面的代码中,您会注意到我已经将promise
getMainCategories
转换为
observable
,但我不知道接下来会发生什么

我的菜单代码:

getMenu(){
const mainCategories=from(this.woo.getMainCategories());
让菜单:任意=[
{
文本:“主页”,
图标:“flaticon主页”,
路径:'/tabs/home'
},
{
文本:“类别”,
图标:“flaticon-2-squares”,
儿童:[]
},
{
文本:“购物车”,
图标:“flaticon购物车”,
路径:'/tabs/cart'
},
{
文本:“chechout”,
图标:“flaticon购物袋”,
路径:'/checkout'
}
];
常量loggedInMenu=[
{
文本:“我的帐户”,
图标:“flaticon登录”,
路径:'/tabs/profile'
}
];
常量日志双菜单=[
{
文本:“登录”,
图标:“flaticon登录”,
路径:'/login'
},
{
文本:“寄存器”,
图标:“flaticon登录”,
路径:'/寄存器'
}
];
const menu$=this.isUserLoggedIn.pipe(
开关图(
状态=>{
如果(状态){
返回(menu.concat(loggedInMenu))
}否则{
返回(menu.concat(loggedOutMenu))
}
}
)
);
返回菜单$;
}

我不知道“of”是什么。但我认为您可能希望使用menu.children.concat(loggedxxmenu)而不是menu.concat。

您需要对代码做什么?不清楚的是,关于这一点,我需要从
promise
方法
getMainCategories
中获得的数据数组注入或推送到一个特定对象中,其中包含
text:“categories”
菜单数组中的上述代码为什么要首先将promise转换为可观察的?如果你只是想把承诺返回的值赋给一个局部变量,你可以使用
,然后
@fridoo,我不知道为什么我不这么做:“D我想,因为角度很大程度上依赖于RXJS,我的大脑没有考虑其他方法:”D无论如何,谢谢,兄弟,我用
然后
修复了它。返回的数据是可观察的。我需要的是什么?在文本为
categories
的对象上,我需要将来自
getMainCategories
a
promise
方法的类别注入子对象
property
,因为我不使用“of”,我不知道语法。如果它是承诺,那么它可以是promise().then((结果)=>{menu.children.concat(结果)};);然后,menu的值看起来像“menu:{xxx:xxx,children:[valueOfResult]}”