Я использую AngularJS и Typcript. В моем конструкторе контроллера я делаю вызов функции, которая получает данные и возвращает обещание. Обещание сохраняется в переменной x
.
x.then((data) => {
//displays data
}, (err) => {
//sends error message
});
Прямо сейчас, если обещание никогда не разрешается, оно ничего не отображает. Я хочу использовать $timeout
, так что если разрешение x
займет слишком много времени, оно отобразит другое сообщение. Я не знаю, как я могу это сделать для обещаний. Вызов this.$timeout(3000,true).then(() => {});
просто задерживает содержимое, и я могу отложить функцию. Как я могу прервать, если обещание не будет разрешено?
Возможный дубликат [NodeJS Тайм-аут обещания, если не удалось завершить вовремя] (http://stackoverflow.com/questions/32461271/nodejs-timeout-a-promise-if-failed-to-complete-in-time) –
Возможный дубликат [Установка обработчика тайм-аута по обещанию в угловых] (http://stackoverflow.com/questions/22994871/setting-a-timeout-handler-on-a-promise-in-angularjs) – Nobita