现在我正在将我的AJAX请求修改为异步,但我想知道是否有类似于var reponse = $.ajax({
的成功事件。在我将代码作为:
var response = $.ajax({
type : "GET",
url : url,
data : parameters,
cache : false,
async : false
}).responseText;
return response;
我尝试使用第一个数据参数,但只返回参数。是否有类似的东西我可以成功使用?
success : function(response) {
callBack(response);
}
答案 0 :(得分:0)
因为请求是异步的,所以不能只返回响应。
jQuery使用名为" promises"的东西,你可以返回:
var userRequest = getUser(123);
因此,每当您想要获得用户时,您只需调用该函数:
userRequest
.done()
变量现在包含"未来承诺"。换句话说,在将来的某个时候,它将为您准备好使用它。
您无法立即使用它,但您可以创建一个在最终准备就绪时运行的功能。这是使用userRequest.done(function (user) {
console.log("The user " + user.name + " has been loaded!");
});
方法完成的:
$.when()
例如,如果您还希望在用户旁边加载用户个人资料,则可以创建两个请求,然后使用var userRequest = getUser(123).
profileRequest = getProfileForUser(123);
$.when(userRequest, profileRequest).done(function (user, profile) {
console.log(user.name + " is " + profile.age + " years old");
});
方法:
self.pipeline.send_event(Gst.Event.new_eos())