【发布时间】:2015-07-28 09:24:30
【问题描述】:
我希望将 res 中的数据传递给我的 notes 变量。但它返回一个更大的嵌套对象。为什么会这样? 如果我在控制台中检查 cleanArrayOfNotes 的值,我会得到我想要的对象,但是一旦将其分配给注释,它就会变成一个更大的对象。我明白这是 Promises 本质的一部分,目前我仍在努力理解。有什么帮助吗?
notes_service.js
var notesService = {notesObjectInService: [], newNote: null};
notesService.getAll = function() {
return $http.get('/notes.json').success(function(data){
//console.log(data)
angular.copy(data, notesService.notesObjectInService);
//console.log(notesService)
})
};
navCtrl.js
var notes = notesService.getAll().then(function(res){
var cleanArrayOfNotes = res.data;
//navCtrl line12
console.log(cleanArrayOfNotes);
return cleanArrayOfNotes;
});
//navCtrl line16
console.log(notes);
【问题讨论】:
-
您将函数分配给 notes 变量,因此它将是返回
$http承诺的getAll()。因此,您的 notes 变量是一个承诺,您的cleanArrayOfNotes是已解析的数据 -
那么我怎样才能将解析后的数据分配给一个局部变量呢?
-
在 promise 中赋值。
-
notes是对cleanArrayOfNotes的承诺。你还期待什么?是否有一些适用于notes的代码不起作用?
标签: javascript angularjs promise