私はAngularJSアプリケーションでこのサービス機能を持っており、この関数からログを返します。 タイムアウト付きAngularJSサービス関数 - 返信
vm.log = uploadService.uploadFiles(vm.files, 'Username');
が、常に空の文字列vm.logです: 私はこの文でこの関数を呼び出します。今私の質問は、呼び出すときにログステートメントを取得するために、関数
uploadFilesをどのように変更する必要があるのかということです。
function uploadFiles(files, username) {
var log = '';
if (files && files.length) {
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (!file.$error) {
Upload.upload({
url: 'https://angular-file-upload-cors-srv.appspot.com/upload',
data: {
username: username,
file: file
}
}).then(function (resp) {
$timeout(function() {
log = 'file: ' + resp.config.data.file.name + ', Response: ' + JSON.stringify(resp.data) + '\n' + log;
return log;
});
}, null, function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded/evt.total);
log = 'progress: ' + progressPercentage + '% ' + evt.config.data.file.name + '\n' + log;
});
}
}
}
return log; // this does return an empty string in every case
};
ログオブジェクトを返しながら、あなたは$タイムアウトを持っているのはなぜ? –