我注意到,如果我执行以下操作:
var myItem = getObject();
console.log( myItem );
function getObject()
{
var def = $q.defer();
$http.get('my_url').success(function(result)
{
def.resolve( result);
} );
return def.promise;
}
发生这种情况时,ajax 请求按预期发出,但是在该console.log
行中,它实际上记录了一个 Promise,该 Promise 具有一个$$v
值,ajax 请求返回的所有 json 数据都附加到该值上。
因此,它实际上并没有将 promise 对象转换为返回的 json 数据,而是将其添加为$$v
变量。
有什么办法可以改变这种行为并使对象完全转化为结果?