2015-08-17 3 views
1

Я загружаю текстовый файл с сервера.
Я хочу выполнить следующую команду после загрузки файла.Angularjs - сделать синхронный вызов

Я делаю это:

window.open(location.pathname+'api/generateFile','_blank'); 
$scope.searchBls(); 

Есть ли способ, чтобы убедиться, что $ scope.searchBls() вызывается только один раз window.open закончил?

Благодаря

+0

Возможный дубликат [Ожидание завершения загрузки дочернего окна] (http://stackoverflow.com/questions/1372022/waiting-for-child-window-loading-to-complete) – Hacketo

+1

Тонкая разница: _ «Я хочу выполнить следующую команду после загрузки файла». _ – sdgluck

ответ

1

Привязать к window.onload событию

var win = window.open(location.pathname+'api/generateFile','_blank'); 
win.onload = function() { 
    $scope.searchBls(); 
}; 
+0

win = window.open открывает новую вкладку и просит сохранить файл, но $ scope.searchBls() не вызывается. – user1260928

0

довольно просто: window.open

var win = window.open(location.pathname+'api/generateFile','_blank'); 
win.onload = $scope.searchBls; 

Вы можете обрабатывать случай, когда было заблокировано всплывающее окно. В этом случае выигрыш не будет определен

Смежные вопросы