表示上傳對象的過程。允許您監控和管理上傳。
簽名:
export interface UploadTask
特性
財產 | 類型 | 描述 |
---|---|---|
快照 | 上傳任務快照 | 目前任務狀態的快照。 |
方法
方法 | 描述 |
---|---|
取消() | 取消正在運行的任務。對完成或失敗的任務沒有影響。 |
捕獲(拒絕) | 相當於調用then(null, onRejected) 。 |
on(事件,nextOrObserver,錯誤,完成) | 偵聽有關此任務的事件。事件有三個回呼函數(稱為next 、 error 和complete )。如果僅傳遞事件,則傳回可用於註冊回呼的函數。否則,回調將在事件發生後傳遞。回呼可以作為三個單獨的參數傳遞,也可以作為物件的next 、 error 和complete 屬性傳遞。三個回調中的任何一個都是可選的,只要至少指定一個即可。此外,當您新增回呼時,您會得到一個傳回的函數。您可以呼叫此函數來取消註冊關聯的回呼。 |
暫停() | 暫停目前正在運行的任務。對暫停或失敗的任務沒有影響。 |
恢復() | 恢復暫停的任務。對目前正在運行或失敗的任務沒有影響。 |
然後(onFulfilled,onRejected) | 該物件的行為類似於 Promise,並在上傳完成時解析其快照資料。 |
上傳任務.snapshot
目前任務狀態的快照。
簽名:
snapshot: UploadTaskSnapshot;
上傳任務.cancel()
取消正在運行的任務。對完成或失敗的任務沒有影響。
簽名:
cancel(): boolean;
返回:
布林值
如果取消有效果,則為 true。
上傳任務.catch()
相當於調用then(null, onRejected)
。
簽名:
catch(onRejected: (error: StorageError) => unknown): Promise<unknown>;
參數
範圍 | 類型 | 描述 |
---|---|---|
被拒絕時 | (錯誤:儲存錯誤) => 未知 |
返回:
承諾<未知>
上傳任務.on()
偵聽有關此任務的事件。
事件有3個回呼函數(稱為next
, error
,並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 函數,為事件流中的每個項目或具有這三個屬性( next 、 error 、 complete )中的部分或全部的觀察者物件呼叫。 |
錯誤 | ((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>;
參數
範圍 | 類型 | 描述 |
---|---|---|
已完成 | ((快照:上傳任務快照) => 未知) |無效的 | 履行回調。承諾鏈正常工作。 |
被拒絕時 | ((錯誤:儲存錯誤) => 未知) |無效的 | 拒絕回調。 |
返回:
承諾<未知>