csv dosyasını doğrudan api'den indirmek için $window.location(url)
kullanıyorum.
Başarı mesajı görüntülemem gerekiyor, söz veriyorum, dosya indiriliyor, ancak başarı iletisini gösteremiyorum. o alternatif değil Yukarıdaki kod, sizin downloadcsv işlevi içinde $ q.resolve kullanmayı denerseniz
app.factory('downloadService', function($q, $window, $timeout) {
return {
download: function(url) {
var defer = $q.defer();
$timeout(function() {
$window.location.href = url;
}, 1000)
.then(function() {
defer.resolve('success');
}, function() {
defer.reject('error');
});
return defer.promise;
}
}
}
:
function download() {
getcsv().then(function(response) {
if (response === 'success') {
$scope.msg = 'success';
}
})
}
getCSV() {
var defer = $q.defer;
downloadCSV();
return defer.promise;
}
function dowloadcsv() {
$window.location(url);
}
Kodunuzun geri kalanını, görüntülemeye çalıştığınız ileti türünü gösterdiğiniz yerde görebilir miyiz? – Tim
'fonksiyonu indir() { getcsv() daha sonra (fonksiyonu (yanıt) { halinde (yanıt === başarısı ') {$ scope.msg = başarısı';} }). } getCSV () { var defer = $ q.defer; indirCSV(); return defer.promise; } function dowloadcsv() { $ window.location (url); } ' – Sandeep
Her şeyden önce, çözülecek bir değer vermeyeceksin, o zaman senin asla vurulmayacaksın. 'Defer.resolve (value); https://docs.angularjs.org/api/ng/service/$q#resolve – CShark