UploadTask interface

表示上传对象的过程。允许您监控和管理上传。

签名:

export interface UploadTask 

特性

财产类型描述
快照上传任务快照当前任务状态的快照。

方法

方法描述
取消()取消正在运行的任务。对完成或失败的任务没有影响。
捕获(拒绝)相当于调用then(null, onRejected)
on(事件,nextOrObserver,错误,完成)侦听有关此任务的事件。事件具有三个回调函数(称为nexterrorcomplete )。如果仅传递事件,则返回可用于注册回调的函数。否则,回调将在事件发生后传递。回调可以作为三个单独的参数传递,也可以作为对象的nexterrorcomplete属性传递。三个回调中的任何一个都是可选的,只要至少指定一个即可。此外,当您添加回调时,您会得到一个返回的函数。您可以调用此函数来取消注册关联的回调。
暂停()暂停当前​​正在运行的任务。对暂停或失败的任务没有影响。
恢复()恢复暂停的任务。对当前正在运行或失败的任务没有影响。
然后(onFulfilled,onRejected)该对象的行为类似于 Promise,并在上传完成时解析其快照数据。

上传任务.snapshot

当前任务状态的快照。

签名:

snapshot: UploadTaskSnapshot;

上传任务.cancel()

取消正在运行的任务。对完成或失败的任务没有影响。

签名:

cancel(): boolean;

返回:

布尔值

如果取消有效果,则为 true。

上传任务.catch()

相当于调用then(null, onRejected)

签名:

catch(onRejected: (error: StorageError) => unknown): Promise<unknown>;

参数

范围类型描述
被拒绝时(错误:存储错误) => 未知

返回:

承诺<未知>

上传任务.on()

侦听有关此任务的事件。

事件有3个回调函数(称为nexterror ,并complete )。

如果仅传递事件,则返回可用于注册回调的函数。否则,回调将在事件发生后传递。

回调可以作为三个单独的参数作为next传递error ,以及对象的complete属性。三个回调中的任何一个都是可选的,只要至少指定一个即可。此外,当您添加回调时,您会得到一个返回的函数。您可以调用此函数来取消注册关联的回调。

签名:

on(event: TaskEvent, nextOrObserver?: StorageObserver<UploadTaskSnapshot> | null | ((snapshot: UploadTaskSnapshot) => unknown), error?: ((a: StorageError) => unknown) | null, complete?: Unsubscribe | null): Unsubscribe | Subscribe<UploadTaskSnapshot>;

参数

范围类型描述
事件任务事件要侦听的事件类型。
下一个或观察者存储观察者<上传任务快照> |空 | ((快照:上传任务快照) => 未知) next函数,为事件流中的每个项目或具有这三个属性( nexterrorcomplete )中的部分或全部的观察者对象调用。
错误((a:存储错误) => 未知) |无效的如果事件流因错误而结束,则调用此函数并返回StorageError
完全的取消订阅|无效的

返回:

取消订阅|订阅<上传任务快照>

如果仅传递事件参数,则返回一个可用于添加回调的函数(请参阅上面的示例)。如果传递的不仅仅是事件参数,则返回一个可以调用以取消注册回调的函数。

实施例1

**单独传递回调或在对象中传递回调。**

var next = function(snapshot) {};
var error = function(error) {};
var complete = function() {};

// The first example.
uploadTask.on(
    firebase.storage.TaskEvent.STATE_CHANGED,
    next,
    error,
    complete);

// This is equivalent to the first example.
uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED, {
  'next': next,
  'error': error,
  'complete': complete
});

// This is equivalent to the first example.
var subscribe = uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED);
subscribe(next, error, complete);

// This is equivalent to the first example.
var subscribe = uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED);
subscribe({
  'next': next,
  'error': error,
  'complete': complete
});

实施例2

**任何回调都是可选的。**

// Just listening for completion, this is legal.
uploadTask.on(
    firebase.storage.TaskEvent.STATE_CHANGED,
    null,
    null,
    function() {
      console.log('upload complete!');
    });

// Just listening for progress/state changes, this is legal.
uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED, function(snapshot) {
  var percent = snapshot.bytesTransferred / snapshot.totalBytes * 100;
  console.log(percent + "% done");
});

// This is also legal.
uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED, {
  'complete': function() {
    console.log('upload complete!');
  }
});

实施例3

**使用返回的函数来删除回调。**

var unsubscribe = uploadTask.on(
    firebase.storage.TaskEvent.STATE_CHANGED,
    function(snapshot) {
      var percent = snapshot.bytesTransferred / snapshot.totalBytes * 100;
      console.log(percent + "% done");
      // Stop after receiving one update.
      unsubscribe();
    });

// This code is equivalent to the above.
var handle = uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED);
unsubscribe = handle(function(snapshot) {
  var percent = snapshot.bytesTransferred / snapshot.totalBytes * 100;
  console.log(percent + "% done");
  // Stop after receiving one update.
  unsubscribe();
});

上传任务.pause()

暂停当前​​正在运行的任务。对暂停或失败的任务没有影响。

签名:

pause(): boolean;

返回:

布尔值

如果操作生效则为 true,如果忽略则为 false。

上传任务.resume()

恢复暂停的任务。对当前正在运行或失败的任务没有影响。

签名:

resume(): boolean;

返回:

布尔值

如果操作生效则为 true,如果忽略则为 false。

上传任务.then()

该对象的行为类似于 Promise,并在上传完成时解析其快照数据。

签名:

then(onFulfilled?: ((snapshot: UploadTaskSnapshot) => unknown) | null, onRejected?: ((error: StorageError) => unknown) | null): Promise<unknown>;

参数

范围类型描述
已完成((快照:上传任务快照) => 未知) |无效的履行回调。承诺链正常工作。
被拒绝时((错误:存储错误) => 未知) |无效的拒绝回调。

返回:

承诺<未知>