Php AngularJs,同时触发请求
我有以下代码: 角度代码:Php AngularJs,同时触发请求,php,ajax,angularjs,Php,Ajax,Angularjs,我有以下代码: 角度代码: $http.get('admin/a').success(function(){ console.log("A finish"); }); $http.get('admin/b').success(function(){ console.log("B finish"); }); PHP代码: Route::group(array('prefix' => 'admin'), function() { Route::g
$http.get('admin/a').success(function(){
console.log("A finish");
});
$http.get('admin/b').success(function(){
console.log("B finish");
});
PHP代码:
Route::group(array('prefix' => 'admin'), function()
{
Route::get('a', array('before' => 'auth.backend', function(){
// SLEEP!
sleep(5);
return Response::json(array('a' => 'a'));
}));
Route::get('b', array('before' => 'auth.backend', function(){
return Response::json(array('b' => 'b'));
}));
}
我的问题是,第二个http调用直到第一个http调用完成才开始,正如您看到的,第一个路由休眠了五秒钟
有人知道如何同时发出和启动此请求吗
谢谢 您的JS代码是正确的。实际上,在请求A之后,服务器会立即发送B请求(您可以在浏览器的开发工具的网络面板中进行验证),但睡眠会阻止服务器在A完成之前实际
处理B
这个问题用睡眠的替代方法来讨论这个问题:您的JS代码是正确的。实际上,在请求A之后,服务器会立即发送B请求(您可以在浏览器的开发工具的网络面板中进行验证),但睡眠会阻止服务器在A完成之前实际处理B
此问题使用睡眠替代方案讨论此问题:此行为是由于第一次调用(/admin/a)在睡眠期间持有会话锁,因此第二次调用(/admin/b)在没有会话锁的情况下无法继续
您可以在睡觉前通过呼叫解锁会话
如果您需要在唤醒后的第一个功能中访问会话,请参阅上的此答案。此行为是由于第一次调用(/admin/a)在其睡眠期间持有会话锁,因此第二次调用(/admin/b)在没有会话锁的情况下无法继续
您可以在睡觉前通过呼叫解锁会话
如果您需要在唤醒后的第一个功能中访问会话,请参阅上的回答。您是说5秒钟内没有任何事情发生,然后您会同时看到两个响应?因此您希望日志是:“B完成”,然后是“A完成”?不,我希望两个请求同时启动,第二个请求直到第一个请求完成后才开始。。。我不在乎完成的顺序。对不起,我的英语不好。那么-再次-你是说5秒钟内什么都没有发生,然后你看到两个响应?然后是你的PHP,我建议在后端使用Node。那么你是说5秒钟内什么都没有发生,然后你看到两个响应?所以你希望日志是:“B完成”,然后是“A完成”?不,我希望两个请求同时启动,第二个请求直到第一个请求完成后才启动。。。我不在乎完成的顺序。对不起,我的英语不好。那么-再次-你是说5秒钟内什么也没有发生,然后你看到两个响应?然后是你的PHP,我建议在后端使用Node。我使用sleep函数来模拟使用shell_exec执行命令,这需要很多时间。结果是一样的,第二个请求直到第一个请求完成才开始…是的,所以真正要问的问题(我建议发布一个新的)是如何配置PHP来处理并发请求。除了谷歌刚刚教我的关于睡眠的知识之外,我对PHP一无所知()谢谢你,罗伯特,我将朝这个方向研究。我使用sleep函数来模拟使用shell_exec执行命令的过程,这需要很多时间。结果是一样的,第二个请求直到第一个请求完成才开始…是的,所以真正要问的问题(我建议发布一个新的)是如何配置PHP来处理并发请求。除了谷歌刚刚教我的关于睡眠的知识之外,我对PHP一无所知()谢谢你,罗伯特,我会朝那个方向调查的。