代码之家  ›  专栏  ›  技术社区  ›  Kerim092

EventEmitters如何跟踪上传进度?价值变化?

  •  1
  • Kerim092  · 技术社区  · 8 年前

    嘿,我一直在用 ngx-uploader 在angular2中,作为响应,我发送在后端生成的文件名。仅当文件完全上载时才发送响应。那个么,我该如何跟踪由事件发射器完成的上传过程呢

      files: UploadFile[];
      uploadInput: EventEmitter<UploadInput>;
    
          startUpload(): void {
            const event: UploadInput = {
              type: 'uploadFile',
              url: 'http://localhost:3030/upload/quality-docs',
              method: 'POST',
              file: this.files[this.files.length - 1],
            };
    
    
            this.uploadInput.emit(event);
          }
    

    事件内部。文件是进度的百分比值,我如何收听/跟踪它。那么当它为100时,要做些什么(得到name的值作为响应)?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Kerim092    7 年前

    过了一会儿,我找到了正确的方法。。在文档“readme”中有一个名为onUploadOutput(输出:UploadOutput):void{}的方法,在那里你只需要添加另一个if语句,它看起来像

    else if(output.type === 'done') { whatever u wanna do} 
    

    所以通常情况下,属性会随着阶段的不同而变化。所以要知道发射器的阶段,你只需要检查这个属性的值。是的,在这种情况下,还有百分比属性。