gpt4 book ai didi

angular - 从自定义管道返回异步值 : Angular4

转载 作者:太空狗 更新时间:2023-10-29 18:19:49 31 4
gpt4 key购买 nike

我为我的应用程序创建了一个自定义管道,它将用户 ID 作为参数并返回用户名。为了获得所有用户,我正在进行 api 调用。因此,我想在从 api 获取用户列表后运行循环。我正在做这样的事情:

 transform(userId: number): any {
this.userInfoService.getUsers().subscribe(
data => {
this.allUsers = data;
for(let user of this.allUser) {
if(user.id === userId) {
return user.userName;
}
}
return null;
},
error => {
console.log('Error');
})
}

但是当我使用这个管道时,我在 UI 上看不到任何值。我怀疑的问题是异步返回的值。有什么建议可以解决这个问题吗?

最佳答案

我添加了一个return并将subscribe更改为map

 transform(userId: number): any {
return this.userInfoService.getUsers().map(
data => {
this.allUsers = data;
for(let user of this.allUser) {
if(user.id === userId) {
return user.userName;
}
}
return null;
},
error => {
console.log('Error');
})
}

然后将它与异步管道一起使用

{{userId | myPipe | async}}

关于angular - 从自定义管道返回异步值 : Angular4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45867175/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com