这是我的情况:
我有一个“界面”,我的每个控件都用于基本的事情,其中之一就是验证。
因此,我有一个processValidation
函数贯穿该特定控件的每个传入函数。这些功能可能与isNumeric()
需要 Web 服务调用一样简单或更复杂。这些函数返回一个简单的boolean
说明这是否通过了验证。
我需要一种通用的方法来让这个调用等到它正在运行的验证完成。我认为这是使用 Deferred 方法的理想场所,但我似乎无法做到正确。
这是我到目前为止所拥有的:
var dfd = $.Deferred(function (dfd) {
validator.validatorFn(value, $controlContainer);
}).promise();
$.when(dfd).done(function (result) {
console.log('got here');
});
当我进入被调用的函数时,我需要一种解决 dfd 的方法。我想这是我真正的问题。
想法?
编辑:
我尝试传递dfd
给 validatorFn 并在那里解决它,但从$.when
不触发。