0

Как указано в угловых Docs,

тайм-аут - {номер | Promise} - время ожидания в миллисекундах, или обещание, которое должно прервать запрос когда проблема будет решена.

Прямо сейчас я устанавливаю таймаут, чтобы пообещать, поэтому я могу вручную отменить запрос на promise.resolve().

Прямо сейчас, я также хочу, чтобы он мог настроить значение тайм-аута конфигурации, вместо того, чтобы время ожидания запроса составляло 120 секунд.

Как его настроить, не затрагивая существующие функции запроса на отсрочку?

ответ

3

Вы могли бы сделать Somthing как этот

$scope.qPromiseCall = function() 
{ 
     var timeoutPromise = $timeout(function() 
     {  
       //aborts the request when timed out 
       canceler.resolve(); 
       console.log("Timed out"); 
     }, 250); 

//we set a timeout for 250ms and store the promise in order to be cancelled later if the data does not arrive within 250ms 

    var canceler = $q.defer(); 
    $http.get("data.js", {timeout: canceler.promise}) 
    .success(function(data) 
    { 
      console.log(data); 
      $timeout.cancel(timeoutPromise); 
      //cancel the timer when we get a response within 250ms 
    }); 

    } 

Для получения более подробной информации смотрите на

Setting a timeout handler on a promise in angularjs

Первый ответ по @Khanh К