Javascript jQuery官方示例:;然后()
我认为'filtered.done()'之后的'defer.resolve(5)'是正确的,但为什么两者都有相同的结果呢Javascript jQuery官方示例:;然后(),javascript,jquery,Javascript,Jquery,我认为'filtered.done()'之后的'defer.resolve(5)'是正确的,但为什么两者都有相同的结果呢 var filterResolve = function() { var defer = $.Deferred(), filtered = defer.then(function( value ) { return value * 2; }); defer.resolve( 5 ); filtered.done(function(
var filterResolve = function() {
var defer = $.Deferred(),
filtered = defer.then(function( value ) {
return value * 2;
});
defer.resolve( 5 );
filtered.done(function( value ) {
$( "p" ).html( "Value is ( 2*5 = ) 10: " + value );
});
};
var defer=$.Deferred(),
过滤=延迟。然后(函数(值){
返回值*2;
});
推迟。决议(5);
$(“按钮”)。在(“单击”,函数(){
过滤完成(函数(值){
$(“p”).html(“值为(2*5=)10:”+Value);
});
});代码>
过滤解析
无论何时执行解析
,这都是承诺的要点-每当解析发生时,都会执行已注册的处理程序。如果解析在过去已经发生过,那么处理程序会立即执行(可能排队)。函数是异步的,所以在解析第一个时并不重要defer@Chips_100. 你是对的。谢谢你指出这一点。
var filterResolve = function() {
var defer = $.Deferred(),
filtered = defer.then(function( value ) {
return value * 2;
});
filtered.done(function( value ) {
$( "p" ).html( "Value is ( 2*5 = ) 10: " + value );
});
defer.resolve( 5 );
};