Promise deferred ajax api jQuery
Promise deferred ajax api jQuery
我不太理解承诺/延期。。。我有这样的东西:
function callAjax() {
return $.ajax({
type: 'post',
dataType: 'jsonp',
data: {status: status, name: name},
url: '/test',
xhrFields: {
withCredentials: true
}
});
}
function connectAjax() {
var msg = 'doesnt work';
var promise = callAjax();
promise.then(function(data, textStatus, xhr) {
msg = 'it worked !';
}, function(data, textStatus, xhr) {
msg = 'it failed !';
});
console.log(msg); // output 'doesnt work'
}
我尝试了很多不同的事情(总是、做过等等),但都没能成功。
我使用jsonp,但我的请求不是跨域的。我的请求预计服务器会出现500错误。
为了使您的示例正常工作,您必须将'console.log(…)'语句放入您在promise上注册的两个回调函数中。then(..,..).
您必须记住,promise回调函数只有在ajax调用完成时才会被调用。但是,您的脚本不会等到这种情况发生,并且"console.log(msg);"在ajax调用返回之前执行。
这是JavaScript非阻塞性的一个很好的例子。
要了解更多详细信息,请查阅JS事件循环上的资源:https://thomashunter.name/blog/the-javascript-event-loop-presentation/了解事件循环
相关文章:
- jQuery使用api获取typeform结果
- 如何使用jquery解析具有相同标签名称的yahoo天气api数据
- Twitter API在jQuery AJAX中设置授权头
- 在JQuery中使用谷歌地图Api事件/侦听器
- 带Jquery的wep API,加载资源失败:服务器响应状态为404(未找到)
- JQuery-重新加载Div并在点击时调用API
- jQuery API 中的 JavaScript 函数中的函数
- 新添加的元素无法使用 jQuery API closest() 在 DOM 树中向上遍历其祖先,返回“undefined
- JQuery API 文档生成器,用于打字稿自定义小部件
- 应用程序学习Jquery API's
- jQuery API兼容的微框架(Zepto除外)
- 修改一个指令不使用jquery api
- 这看起来很简单,但是我在jquery API中找不到所需的函数
- 第0行出现错误.谷歌jquery api
- 是否有一个JQuery API用于根据数字分配月份名称
- jQuery - API选项作为一个函数
- 修改的jQuery API $.when()在超时时返回undefined
- jQuery API 不适用于 JavaScript
- jQuery API 架构选择:为什么为 attr(), val(), .. 返回单个值而不是数组
- 如何在html字符串上使用jquery API