我遇到問題,可觀測在Lambda表達式中給數組賦值。Lambda表達式「不能正常工作」
我有一類具有這種屬性:
usuarios: Usuario[];
我注入的Http服務。
我有下列的函數:
getUsuarios(): Usuario[] {
this._http.get("http://localhost:3000/db").map(data => data.json()).subscribe(data => {
this.usuarios = data["Usuarios"];
console.log(this.usuarios);
});
console.log(this.usuarios);
return this.usuarios;
}
對於一些reasong,壽,在控制檯中,與第一控制檯日誌(lambda表達式內的一個)完全示出了數據。
但是如果我再次登錄控制檯,這次在lambda表達式之外,this.usuarios
是空的(undefined)。
這是爲什麼發生?
http.get函數是異步的,所以getUsuarios()在http調用完成之前返回它的結果,這就是爲什麼它返回null。您可能想要返回observable而不是數組。 – Ploppy