我希望res中的数据传递给我的notes变量。但是它会返回一个更大的嵌套对象。为什么会发生? 如果我在控制台中检查cleanArrayOfNotes的值,我得到了我想要的对象,但是一旦它被分配为注释它就成为一个相当大的对象。我知道这是承诺的性质的一部分,目前我仍然试图理解。任何帮助?我怎样才能得到我的数组与返回一个函数与承诺的对象?
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变量,所以它将是'getAll()',它返回'$ http'的承诺。因此,您的笔记变量是一个承诺,您的'cleanArrayOfNotes'是已解析的数据 – devqon
因此,如何才能将局部变量分配给解析的数据? – vinibol12
将其分配给承诺。 –