Я новичок в angularJs, и я использую ionic для создания приложения. У меня есть сервис со следующим возвратом всех заметок, сделанных пользователем. Внизу:Как отфильтровать обещание с filterFilter в angularJs
// Promise-based API
return {
loadAllNotes: function() {
return deferredPromise.promise;
},
query: function (params) {
deferredPromise.promise.then(function(data){
//console.log(filterFilter(data.notes, params)); //CORRECT RESULT
return filterFilter(data.notes, params);
});
}
}
я сделал функцию query(params)
, чтобы иметь возможность фильтровать результаты. Пройдя params
. хотя когда i console.log()
внутри функции возврата, как вы видите выше, я получаю желаемый результат. Но я не могу получить доступ к этому результату в моем контроллере.
function loadNotes(){
vm.notes = [].concat(noteService.query({"lead_id":vm.lead.id})); //calling The service function
console.log(vm.notes); //logs [undefined]
}
Я считаю, что есть кое-что, что мне не хватает в обработке обещаний. FilterFilter работает отлично, я просто не могу получить результат в моем контроллере. Есть идеи?
вы возвращаете 'false' из вашего noteServvice.query – webduvet
@webduvet, что вы имеете в виду ? Я возвращаю 'filterFilter (data.notes, params)' i 'console.log()' значение в возвращаемой функции, и он выводил то, что я хочу. я просто не получаю его в контроллере –
@webduvet Я понимаю, что вы сейчас имеете в виду ... его слишком много php, которое заставило меня написать код :( –