我发现Angular $资源的行为非常奇怪.请查看以下代码行:
class Service
constructor: ($resource) ->
service = $resource '/record/:id'
Service::list = (cb) ->
service.query().$promise.then (data) ->
#result: data == [e, $promise: Object, $resolved: true]
cb data
Service::get = (id, cb) ->
service.get(id:id).$promise.then (data) ->
#result: data == {id: 1, name: 'name' ...}
cb format data
Run Code Online (Sandbox Code Playgroud)
服务"get"方法返回服务器发送的正确值(对象),但"list"方法作为结果返回包含$ promise和$ resolved的数组...
有没有人有一些逻辑解释?
更新:
我发现了这个问题.服务结果是字符串数组,导致sting chars的结果数组.这可以通过使用$ http而不是$ resource来解决.
例如:
服务器端 - > ['list','of','elements']
客户端 - > ['l','我','s','t']
angularjs ×1