如何理解并运用Jquery的Deferred对象及其高级应用实例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计915个文字,预计阅读时间需要4分钟。
在实际开发中经常遇到这样的问题:函数中需要用到的变量或参数,只有当等A函数执行完毕了才能获取到。例如,A函数中有一个ajax请求,而B函数中需要的position变量需要在该ajax请求中获取。
在实际开发中常常遇到这样的问题:B函数中需要用到的变量或者参数,只有等A函数执行完毕了才能获取到。比如A函数中有一个ajax请求,而B函数中所需要的position变量需要在A函数中ajax请求完成才能得到它的准确值。
function A() { $.ajax({ url: '/api/test', type: 'POST', data: {...}, success: function(res) { position = res.position; } }) } function B() { $('.test').text(position); }
JavaScript的异步模式让B函数不会等待A函数计算出了position的值才会执行,它会不等待A函数的结果而直接开始执行,这样就会造成position无法正确赋值。
本文共计915个文字,预计阅读时间需要4分钟。
在实际开发中经常遇到这样的问题:函数中需要用到的变量或参数,只有当等A函数执行完毕了才能获取到。例如,A函数中有一个ajax请求,而B函数中需要的position变量需要在该ajax请求中获取。
在实际开发中常常遇到这样的问题:B函数中需要用到的变量或者参数,只有等A函数执行完毕了才能获取到。比如A函数中有一个ajax请求,而B函数中所需要的position变量需要在A函数中ajax请求完成才能得到它的准确值。
function A() { $.ajax({ url: '/api/test', type: 'POST', data: {...}, success: function(res) { position = res.position; } }) } function B() { $('.test').text(position); }
JavaScript的异步模式让B函数不会等待A函数计算出了position的值才会执行,它会不等待A函数的结果而直接开始执行,这样就会造成position无法正确赋值。

