JavaScript承诺的新手,并且很难掌握这个概念.我似乎终于明白了,但似乎无法让它发挥作用.
这是一个简单的尝试:
first = function(){
var deferred = new $.Deferred();
console.log("first running")
return deferred.promise();
}
second = function(){
console.log("second running..sigh..");
}
$(document).ready(function() {
first().then(second);
});
Run Code Online (Sandbox Code Playgroud)
第二个没有被召集.
为了调用第二个函数,您需要解析从第一个函数返回的延迟:
first = function(){
var deferred = new $.Deferred();
console.log("first running");
deferred.resolve(); // <----------resolve the deferred
return deferred.promise();
}
Run Code Online (Sandbox Code Playgroud)
您也可以使用参数解决它,以便无论它解决了什么,都将作为参数传递给您的第二个函数.这是一个小提示,它为解析添加了一点延迟,因此它模仿异步行为并使用实际数据解析:
http://jsfiddle.net/1k6tLev8/1/
| 归档时间: |
|
| 查看次数: |
358 次 |
| 最近记录: |