繁体   English   中英

返回承诺而不是 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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM