【发布时间】:2020-04-15 12:28:22
【问题描述】:
getModel() 方法总是返回空名称数组,即使语言 Observable 返回值也是如此。为什么?
export interface Category extends BaseModel {
code: string;
name: LocalizedValue[];
description: LocalizedValue[];
active: boolean;
}
getAllLanguages(): Observable<Language[]> {
// this return list of languages
}
protected getModel(): Category {
let model: Category = {
id: '',
code: '',
name: [],
description: [],
active: false,
};
let nameField: LocalizedValue[] = [];
this.languageService.getAllLanguages().subscribe(list => {
list.forEach(l => {
let n: LocalizedValue = {
language: l.code,
value: '',
};
nameField.push(n);
});
});
model.name = nameField;
return model;
}
【问题讨论】:
-
return model;在订阅之前执行,所以它是空的,在订阅中返回它。 -
我用promise先生解决了它。
标签: angular rxjs rxjs-observables