我有一个包含两个文本字段的
页面.当
用户更改任何
一个的值时,我发送两个ajax请求,
一个用于每个字段的值,然后对两个结果执行计算.
但是,因为它们是异步的,所以无法知道它们何时完成,并且我无法在任何一个的回调函数中运行计算,因为另一个可能在那时没有完成.
目前我正在声明两个全局变量,从第一个回调调用第二个请求,并在第二个回调中计算结果.
这似乎是非常糟糕的做法,特别是因为他们都查询相同的API – 没有理由让代码写两次.
如何重构我的代码以改善这一点?
只想
添加Deferred可以
在这里帮助:
var responses = [];
$.when(
$.get("url1",function(response) {
responses[0] = response;
}),$.get("url2"),function(response) {
responses[1] = response;
})
).then( // will run when both are completed
function() {
alert(responses);
}
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。