2

在anguler js中,如果我在单个函数中使用了两次$ http,它会影响从Web服务获取数据。

Like :- 
.factory('Chats', function($http) { 
    $http{} 
    $http{} 
}); 

Thanks 
+0

我不明白你的问题。请提供一个输入代码,http响应和预期结果的示例 – aorfevre

+0

您是否在白名单中添加了url?http://stackoverflow.com/questions/29437035/whitelist-not-working-ionic-with-crosswalk – lisztomania

+0

more over:是吗?一个get或一个post/put被执行?对于一个简单的获取(读)它应该产生可怕的dammages – benek

回答

1

使用两个$ http调用获取数据不是问题,它们不会互相干扰,因为它们是异步调用的。

这太好了,因为这意味着它们都会立即被调用,而不必等待另一个完成。

但是,您应该知道,因此您可以在获得第一个呼叫的结果之前获得第二个呼叫的结果。如果你在第一个$ http中有一个非常长的调用(大量的数据)并且很短的一个(少量的数据),这可能会发生。如果你想在继续之前等待两者完成,那么你可以使用$ q.all等待两个完成,然后再继续。你可以在这里阅读更多关于:https://www.jonathanfielding.com/combining-promises-angular/

+0

谢谢@JimTheDev –