Angular2 と Firbase Storage を使用しています。「uploadProgress」値を取得して (HTML ファイルで指定された) を更新しようとしていますが、どうにかして uploadTask.on 関数の「uploadProgress」変数を更新できます。別のスレッドで実行されているためですか?この問題の回避策はありますか? 誰かが私を助けてくれることを願っています。ありがとう
=======================================================================
import { Component } from '@angular/core';
import { AngularFire, FirebaseListObservable } from 'angularfire2';
import * as firebase from 'firebase';
@Component({
selector: 'app-create-folder',
templateUrl: './create-folder.component.html'
})
export class CreateFolderComponent {
public fItem: FolderItem;
public f: File;
public storageRef: Storage;
public uploadProgress = 0;
constructor(public af: AngularFire) {}
onSubmit() {
const storageRef = firebase.storage().ref().child('myclient/' +
this.fItem.file_name);
var uploadTask = storageRef.put(this.f);
uploadTask.on('state_changed', function(snapshot){
this.uploadProgress = (snapshot.bytesTransferred / snapshot.totalBytes) *
100;
});
}
}