php处理多个ajax请求,允许进一步的Ajax请求到php,同时处理第一个请求继续

我打电话给进程在后端生成PDF使用Angular中的REST请求(我使用restangular来创建这些)。允许进一步的Ajax请求到php,同时处理第一个请求继续

我的问题是,我希望用户能够继续工作,而这个过程正在工作,因为PDF生成可能需要一段时间。就像测试一样,我创建了一个延迟5秒的服务,然后将数据返回给客户端。我这样称呼它:

var d = $q.defer();

Restangular

.all('delay')

.getList()

.then(function (data) {

d.resolve(data);

}, function() {

d.reject();

});

return d.promise;

这工作正常,但我在通话之前完成的任何其他请求已被阻止。如果我链接了.then函数,但我会调用一个完全独立的REST请求。

我必须等待生成PDF的服务在返回客户端之前完成,否则其他明智的过程将无法完成。那么,我必须等待还是可以同时运行两个或多个REST请求?

谢谢!

编辑.... 似乎没有人对这个问题感兴趣!无论如何,我一直在寻找从PHP返回请求的选项,以允许JavaScript继续运行,这种一半的作品。有此答案散落在计算器的几个版本 - 这一个从here

public function delay()

{

ignore_user_abort(true);

set_time_limit(0);

ob_start();

// do initial processing here

echo 'Text the user will see';

header('Connection: close');

header('Content-Length: '.ob_get_length());

ob_end_flush();

ob_flush();

flush();

// Do processing here

$d = time();

sleep(5);

$t = time()-$d;

echo('Text user will never see');

}

public function runtime()

{

$d = time();

$t = time()-$d;

return $t;

}

在现实中,什么情况是,PHP的推移并将响应返回给浏览器,然后因为它应该处理进行。但是,来自客户端的下一个请求仍然等待第一个请求在运行之前完成处理。

我想要的行为是PHP开始,就好像我是打电话从其他浏览器的方法一个新的线程(当然,我已经测试和它的作品)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值