gpt4 book ai didi

angular - 如何检查多条件以将 observable 与 rxjs 连接起来

转载 作者:行者123 更新时间:2023-12-05 02:32:26 25 4
gpt4 key购买 nike

我想对可观察到的消息进行检查,并像这样场景化输出:检查消息是发给我的还是发 self 的,并将前 20 个字符与 friend 的名字 连接起来,或者是我与 的消息如果是照片或文件,请检查消息的类型,例如发送一条消息

getLastMessage(onlineUserModel: OnlineUserModel): Observable<string> {
let message: Observable<string>;

const messageModel = this.allDirectMessages$
.pipe(
map((x) =>
x.filter(
(f) =>
f.messageModel.to.userName === onlineUserModel.userName ||
f.messageModel.from.userName === onlineUserModel.userName
)
)
)
.pipe(map((data) => data[data.length - 1].messageModel))
.pipe(
map((item) => {
if (item.to.userName == onlineUserModel.userName) {
message = concat("You", item.content, "...");
}
else (item.to.userName == onlineUserModel.userName) {
message = concat("You", item.content, "...");
}
})
);


return message;
}

最佳答案

如果您想将消息作为 Observable<string> 返回你可以这样做:

getLastMessage(onlineUserModel: OnlineUserModel): Observable<string> {   
return this.allDirectMessages$
.pipe(
filter((f) =>
f.messageModel.to.userName === onlineUserModel.userName ||
f.messageModel.from.userName === onlineUserModel.userName
),
map((data) => {
const item = data[data.length - 1].messageModel;
if (item.to.userName == onlineUserModel.userName) {
return `You ${item.content}...`;
}
else (item.from.userName == onlineUserModel.userName) {
return `Them ${item.content}...`;
}
})
);
}

关于angular - 如何检查多条件以将 observable 与 rxjs 连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71256305/

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