Fle*_*ore 5 javascript ajax readability
顺序异步调用很严重.有更可读的解决方案吗?
问题是这很难遵循:
ajaxOne(function() {
// do something
ajaxTwo(function() {
// do something
ajaxThree()
});
});
Run Code Online (Sandbox Code Playgroud)
其中匿名函数是在服务器响应上调用的回调.
我正在使用第三方API来进行AJAX调用,所以我需要一个通用的解决方案.
函数式编程来拯救你!jsdeferred允许您像这样编写示例:
next(ajaxOne).next(ajaxTwo).next(ajaxThree).error(function(e){alert('An error happened:' + e)})
Run Code Online (Sandbox Code Playgroud)
每个“顺序”ajaxOne/Two/Three 函数都接收其前一个函数的返回结果作为参数。如果需要传递其他参数,可以在调用 ajax 链之前将它们公开在全局对象中。