1

我有以下代码,我希望它足够清楚,我的问题是,我怎样才能等到 $http 的成功响应并且只重定向到/path

service.foo().then(function(response){
 $http.get('/url').success(function(response){
  if (response) {
   setTimeout(function(){alert(response)}, 5000);//
  } else {
   //do something and redirect
  }
  $location.path('/path); //How can I wait until the response and just redirect?
 });
});

你可以看到我设置了一个 5 秒的超时来提醒响应。在我的测试中,页面重定向到/path然后只提醒响应。我想要的是延迟 5 秒然后警报然后重定向。

4

3 回答 3

0

尝试这个:

window.location='#pagename';
于 2015-04-08T07:04:44.570 回答
0

$location.path('/path); 放入setTimeout。

于 2015-04-08T09:27:30.410 回答
-1
    $http({
      method: 'GET',
      url: '/someUrl'
    }).then(function successCallback(response) {
      // this callback will be called asynchronously
      // when the response is available redirect
      //$location.path()
    }, function errorCallback(response) {
      // called asynchronously if an error occurs
      // or server returns response with an error 
    });
于 2017-04-03T18:14:04.770 回答