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>;

參數

範圍類型描述
已完成((快照:上傳任務快照) => 未知) |無效的履行回調。承諾鏈正常工作。
被拒絕時((錯誤:儲存錯誤) => 未知) |無效的拒絕回調。

返回:

承諾<未知>