我想在我的服务中调用一个函数。问题是,选择一个有效的日期后,我必须返回一个日期。无法正确返回承诺
承诺永远不会被召唤,因为我认为我以错误的方式返回。你能帮我解决我的问题吗?
这是错误:
TypeError: Cannot read property 'then' of undefined at AgendaController.abrirAgenda
agenda.controller.js
function abrirAgenda() {
var fechaLimite = new Date(vm.agendaComplejo.anioHoy, vm.agendaComplejo.mesHoy - 1, vm.agendaComplejo.diaHoy);
fechaLimite.setDate(fechaLimite.getDate() + 30);
var fechaSeleccionada = new Date(vm.agendaComplejo.anioSeleccionado, vm.agendaComplejo.mesSeleccionado - 1, vm.agendaComplejo.diaSeleccionado);
agendaService.abrirAgenda(fechaSeleccionada, fechaLimite)
.then(prueba);
}
//prueba
function prueba(resultado){
debugger;
}
agenda.service.js
// abrir la agenda para cambiar de día/mes
function abrirAgenda(fechaSeleccionada, fechaLimite) {
debugger;
var ipObj1 = {
callback: function (val) { //Mandatory
var fecha = new Date(val);
var dia = fecha.getDate();
var mes = fecha.getMonth() + 1; //Se suma 1 porque el primer mez comienza en 0
var anio = fecha.getFullYear();
var fechaDeseada = anio + "-" + mes + "-" + dia;
return fechaDeseada;
},
inputDate: fechaSeleccionada,
//inputDate: new Date(),
titleLabel: 'Seleccione una fecha',
setLabel: 'Aceptar',
todayLabel: 'Hoy',
closeLabel: 'Cancelar',
mondayFirst: true,
from: new Date(2016, 2, 1),
to: fechaLimite,
weeksList: ["D", "L", "M", "MIE", "J", "V", "S"],
monthsList: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
templateType: 'popup',
showTodayButton: false,
dateFormat: 'dd MMMM yyyy',
closeOnSelect: false
};
ionicDatePicker.openDatePicker(ipObj1);
}
我需要返回选定日期:"fechaDeseada"
。我正在尝试使用ionic datepicker。
感谢您的帮助!
'abrirAgenda'不返回任何东西,所以它返回'undefined',从而出错。代码中也没有提示任何承诺。 'ionicDatePicker.openDatePicker'函数是否返回一个Promise? –
Offtopic,但我建议只用英文编码 – diegoaguilar