我正在使用@ mean-expert/loopback-sdk-builder在angular 4.3.6上生成我的api,並且當我使用此調用時出現錯誤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構建器中的一個錯誤,因爲角度項目是最近的並且沒有多少變化整體結構。
解決方案
正如我在答覆中說,問題是,情況不是數組,解決這個問題,我不得不設置屬性根:在remoteMethod定義真正的環回模式
returns: {
arg: 'users',
type: 'array',
root : true
}
「我正在收集用戶數組」你確定嗎? 'console.log(實例)'在'result.map'內部打印什麼? – echonax
我不明白你最後的評論,但我不認爲typeof'instances'是'Array' –
echonax
我更新了顯示的值int – Edlop