返回promise而不是jquery ajax调用
Returning promise instead of jquery ajax call
我有一个函数,期望它调用jquery.ajax,并将其作为进一步处理的承诺返回。
但是,有时,它有足够的信息可以在没有ajax调用的情况下同步进行。它仍然需要返回一个承诺,以履行与呼叫者的合同。做这件事的惯用方法是什么?
例如
function f(x) {
return x?
$.ajax({url: "http://myServer", data: x, ...})
: /* what should be here? */;
}
要创建一个已完成的jQuery承诺,可以使用jQuery.when
:
return $.when(…);
要创建一个被拒绝的jQuery承诺,您需要使用更复杂的东西(但至少您可以将其链接):
return $.Deferrred().reject(new Error(…)).promise();
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 将curl查询转换为jQuery.ajax()
- jQuery AJAX write to XML
- jQuery Ajax GET请求工作不正常
- jquery ajax https调用给出ERR_INSECURE_RESPONSE
- VB NET JQUERY AJAX上出现错误500
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- Jquery/Ajax.serialize()未完全工作
- 页面加载之前的jQuery Ajax加载程序
- jquery/ajax无限滚动事件
- 使用Jquery$.ajax将json数据传递给servlet(doPost)
- 如何将给定的curl命令复制为jquery ajax请求
- 使用 JQUERY AJAX (Spring MVC) 从控制器中删除
- Twitter API在jQuery AJAX中设置授权头
- AngularJS JQuery Ajax表单提交等效
- jQuery Ajax.ajaxSuccess()事件未激发
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- jQuery AJAX总是出错
- jQuery Ajax数组序列化错误
- jQuery AJAX获取Vimeo缩略图