【发布时间】:2013-07-02 20:40:23
【问题描述】:
我正在尝试找出一种方法来解决/拒绝创建 promise/deferred 的函数无法直接访问的函数中的 jquery promise。
这种情况是一个请求被发送到另一台机器并且对此的响应(可能会也可能不会)由另一个函数处理。一旦我发送请求,我就会启动一个计时器,它会在超时时拒绝承诺。为了稍后根据来自远程机器的响应来解决/拒绝承诺,我让发送请求和接收响应(如果响应成功则解决)函数都可以访问这个承诺,但是如果调用的代码发送请求的功能尝试发送多个请求,这不起作用。
基本上,我想一次只允许/处理一个请求,直到该请求被解决或拒绝,即使调用代码尝试发送多个请求。关于如何实现这一点的任何想法?
对不起,如果我的声音到处都是,我对这些东西很陌生。
【问题讨论】:
-
听起来你的想法有点不对劲。特别是,如果请求以正确的方式发出(使用
jQuery.ajax(...)或其速记方法之一),那么所有解析/拒绝将由 jQuery 为您管理。您需要做的就是以一种或多种方式指定成功/错误处理程序,它们将在响应到达或请求超时时触发。发布一些代码,我相信有人会提供进一步的建议。
标签: javascript jquery promise