Вот моя ситуация:
У меня есть «интерфейс», который каждый из моих элементов управления использует для базовых вещей, одной из этих вещей является проверка.
Итак, у меня есть функция processValidation
, которая проходит через каждую из переданных функций для этого конкретного элемента управления.Эти функции могут быть такими же простыми, как isNumeric()
или более сложными, требующими вызова веб-службы.Эти функции возвращают простое boolean
сообщение о том, прошла ли эта проверка или нет.
Мне нужен общий способ ожидания вызова до завершения этой проверки.Я думал, что это идеальное место для использования отложенных методов, но я не могу понять это правильно.
Вот что у меня есть:
var dfd = $.Deferred(function (dfd) {
validator.validatorFn(value, $controlContainer);
}).promise();
$.when(dfd).done(function (result) {
console.log('got here');
});
Когда я вхожу ввызываемая функция мне нужен способ разрешить dfd.Я думаю, это моя настоящая проблема.
Мысли?
РЕДАКТИРОВАТЬ: Я попытался передать dfd
в validatorFn и решить его там, но $.when
никогда не срабатывает.