私は、平均4.3.6で私のAPIを生成するために@ mean-expert/loopback-sdk-builderを使用しています。この呼び出しを使用するとエラーが発生しますTypeError:instances.mapは関数の角度ループバックではありません
this._userApi.findUsersByRoles([{'name':'cliente'}]).subscribe((users: User[]) => {
this.users = users;
}, (err) => {console.log(err) })
ループバックエクスプローラでこの方法を試してみると、私はユーザーの配列を取得しています。
これは、ループバックSDK
public findUsersByRoles(roles: any, customHeaders?: Function): Observable<User[]> {
let _method: string = "GET";
let _url: string = LoopBackConfig.getPath() + "/" + LoopBackConfig.getApiVersion() +
"https://stackoverflow.com/users/findUserByRoles";
let _routeParams: any = {};
let _postBody: any = {};
let _urlParams: any = {};
if (typeof roles !== 'undefined' && roles !== null) _urlParams.roles = roles;
let result = this.request(_method, _url, _routeParams, _urlParams, _postBody, null, customHeaders);
return result.map((instances: Array<User>) =>
instances.map((instance: User) => new User(instance))
);
}
によって生成された 'findUsersByRoles' 関数であり、これは、コンソールで印刷されたエラーです:
私はと思われますこれは最近の角度プロジェクトであり、多くの変更がなかったので、SDKビルダーのバグかもしれません。 n全体の構造。ループバックモデルでremoteMethod定義に真:私は答えに言われたように、問題は、インスタンスがこの問題を解決するための配列、ではないということです私は、プロパティのルートを設定する必要がありました
ソリューション
returns: {
arg: 'users',
type: 'array',
root : true
}
"私はユーザーの配列を取得しています"あなたは本当ですか? 'console.log(インスタンス)'は 'result.map'の中に何を出力しますか? – echonax
私はあなたの最後のコメントを理解していませんが、typeofインスタンスが 'Array' –
echonax
と思われません – Edlop