jquery 延迟返回数据
jquery defered returning data on when
您好,我正在尝试了解 $.deffered。一旦计算完成,我如何 return 数据?
function cube(n)
{
//console.log(n);
return n = Math.pow(n, 3);
}
function compute(n){
var d = $.Deferred();
n = cube(n);
//how do i return n upon completed computation?
return d.promise(n);
}
$.when(compute(5))
.done(function(data){
console.log(data);
});
js
问题似乎没有 return 值 jQuery.Deferred()
回调处理程序 .done()
。参见 deferred.resolve()。
jQuery.Deferred()
方法 resolve
, reject
return 值已解决或拒绝 jQuery 延迟方法的原因 .done
, .fail
、.then
、always
。
尝试将 n
作为参数传递给 compute
中 jQuery.Deferred()
的 .resolve()
方法,例如 d.resolve(n)
.
不需要将 compute(5)
包装在 $.when()
中 - return 是一个 jQuery 承诺 - 因为 compute
会 return jQuery 承诺反对 .done()
在 return d.promise()
.
function cube(n) {
return Math.pow(n, 3);
}
function compute(n) {
var d = new $.Deferred();
n = cube(n);
// return jQuery promise `n`: `cube(n)`
d.resolve(n);
return d.promise();
}
compute(5)
.done(function(data) {
console.log(data);
});
compute(2)
.done(function(data) {
console.log(data);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
或者在 compute
中使用 $.when()
,return jQuery 承诺 n
:cube(n)
function cube(n) {
return Math.pow(n, 3);
}
function compute(n) {
n = cube(n);
// return jQuery promise `n`: `cube(n)`
return $.when(n);
}
compute(5)
.done(function(data) {
console.log(data);
});
compute(2)
.done(function(data) {
console.log(data);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
您好,我正在尝试了解 $.deffered。一旦计算完成,我如何 return 数据?
function cube(n)
{
//console.log(n);
return n = Math.pow(n, 3);
}
function compute(n){
var d = $.Deferred();
n = cube(n);
//how do i return n upon completed computation?
return d.promise(n);
}
$.when(compute(5))
.done(function(data){
console.log(data);
});
js
问题似乎没有 return 值 jQuery.Deferred()
回调处理程序 .done()
。参见 deferred.resolve()。
jQuery.Deferred()
方法 resolve
, reject
return 值已解决或拒绝 jQuery 延迟方法的原因 .done
, .fail
、.then
、always
。
尝试将 n
作为参数传递给 compute
中 jQuery.Deferred()
的 .resolve()
方法,例如 d.resolve(n)
.
不需要将 compute(5)
包装在 $.when()
中 - return 是一个 jQuery 承诺 - 因为 compute
会 return jQuery 承诺反对 .done()
在 return d.promise()
.
function cube(n) {
return Math.pow(n, 3);
}
function compute(n) {
var d = new $.Deferred();
n = cube(n);
// return jQuery promise `n`: `cube(n)`
d.resolve(n);
return d.promise();
}
compute(5)
.done(function(data) {
console.log(data);
});
compute(2)
.done(function(data) {
console.log(data);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
或者在 compute
中使用 $.when()
,return jQuery 承诺 n
:cube(n)
function cube(n) {
return Math.pow(n, 3);
}
function compute(n) {
n = cube(n);
// return jQuery promise `n`: `cube(n)`
return $.when(n);
}
compute(5)
.done(function(data) {
console.log(data);
});
compute(2)
.done(function(data) {
console.log(data);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>