私は根本的に何か間違っていると思います。私はフィルタリングされたリストからそれを引っ張って単一のエンティティを見つけようとしています。存在しないエンティティがあれば、それを作成する必要があります。観測から戻る
私はどのように私が購読内側から復帰させ、観察を返すことができます何も
getOrCreateNew(receiverId: number) : Observable<Conversation> {
var userId = this.identity.userInfo.id;
//TODO: you should be using an expression here, and having a builder for generating your
//filters in case you want to switch them in the future
var employerFilter = new PropertyFilterNode("EmployerUserId", FilterCondition.Equal, receiverId.toString());
var employeeFilter = new PropertyFilterNode("EmployeeUserId", FilterCondition.Equal, userId.toString());
let conversationFilter = new BinaryFilterNode(employerFilter, employeeFilter, Combiner.Or);
this.getList(conversationFilter).subscribe(entities => {
if (entities == null || entities.length == 0) {
let conversation: Conversation;
conversation.employerUserId = receiverId;
conversation.employeeUserId = userId;
return this.create(conversation);
}
else {
let entity = entities[0];
return Observable.of(entity); //.Return(entity)
}
});
return null;
}
を返さない、観察代わりを返すべきであるので、この関数が間違っているような気が?
どのように 'getOrCreateNew'が使用されていますか? 'null'を返すようですが、observableを返すとタイプされます。また、いくつかの場所に注釈を入力すると、エラーがマスクされることがあります。 –