【发布时间】:2019-01-24 21:45:23
【问题描述】:
如果 ajax 请求未在 1 秒内返回,我必须返回 false。但是在请求完成后处理响应。使用 Ajax 超时对我不起作用,因为它会在该时间之后取消请求。但即使需要很长时间,我也希望得到回应。
例子:
function call(){
ajax.request(...)
if(does not respond in 1 second)
immediately return false and wait for response
else
return response
}
【问题讨论】:
-
你试过
setTimeOut吗? -
你是在使用 Promise Ajax 库,还是在 Ajax 完成时使用回调?
-
@GarrettMotzner:我在 Ajax 完成时使用回调。
-
另外,在这种情况下,您所说的“返回”是什么意思?在进行异步调用时,“return”实际上并没有多大意义,因为启动异步操作的函数会立即返回,并且不会阻塞等待该操作完成。
-
你能包含一些你的回调吗?
标签: javascript jquery ajax asynchronous settimeout