객체를 업로드하는 프로세스를 나타냅니다. 업로드를 모니터링하고 관리할 수 있습니다.
서명:
export interface UploadTask
속성
속성 | 유형 | 설명 |
---|---|---|
snapshot | UploadTaskSnapshot | 현재 작업 상태의 스냅샷입니다. |
메소드
메서드 | 설명 |
---|---|
cancel() | 실행 중인 태스크를 취소합니다. 완료되거나 실패한 작업에는 영향을 미치지 않습니다. |
catch(on거부됨) | then(null, onRejected) 호출과 동일합니다. |
on(event, nextOrObserver, error, complete) | 이 작업의 이벤트를 리슨합니다.이벤트에는 3개의 콜백 함수 (next , error , complete 라고 함)가 있습니다.이벤트만 전달되면 콜백을 등록하는 데 사용할 수 있는 함수가 반환됩니다. 그 외의 경우에는 콜백이 이벤트 후에 전달됩니다.콜백은 개별 인수 세 개 또는 객체의 next , error , complete 속성으로 전달될 수 있습니다. 최소 한 개의 콜백이 지정되어 있는 한, 세 개의 콜백은 모두 선택사항입니다. 또한 콜백을 추가하면 함수를 다시 가져옵니다. 이 함수를 호출하여 연결된 콜백을 등록 취소할 수 있습니다. |
pause(): | 현재 실행 중인 태스크를 일시중지합니다. 일시중지되거나 실패한 태스크에는 영향을 미치지 않습니다. |
Resume() | 일시중지된 작업을 재개합니다. 현재 실행 중이거나 실패한 태스크에는 영향을 미치지 않습니다. |
then(onFulfill, onDecline) | 이 객체는 프로미스처럼 동작하며 업로드가 완료되면 스냅샷 데이터로 확인됩니다. |
UploadTask.snapshot
현재 작업 상태의 스냅샷입니다.
서명:
snapshot: UploadTaskSnapshot;
UploadTask.cancel()
실행 중인 태스크를 취소합니다. 완료되거나 실패한 작업에는 영향을 미치지 않습니다.
서명:
cancel(): boolean;
반환:
부울
취소가 효과가 있었다면 true입니다.
UploadTask.catch()
then(null, onRejected)
호출과 동일합니다.
서명:
catch(onRejected: (error: StorageError) => unknown): Promise<unknown>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
on거부됨 | (오류: StorageError) => 알 수 없음 |
반환:
약속<알 수 없음>
UploadTask.on()
이 작업의 이벤트를 수신 대기합니다.
이벤트에는 세 가지 콜백 함수 (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>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
event | TaskEvent | 리슨할 이벤트의 유형. |
NextOrObserver | StorageObserver<UploadTaskSnapshot> | null | ((스냅샷: UploadTaskSnapshot) => 알 수 없음) | 이벤트 스트림의 각 항목에 대해 호출되는 next 함수 또는 이러한 세 가지 속성 (next , error , complete ) 중 일부 또는 전부를 가진 관찰자 객체. |
오류 | ((a: StorageError) => 알 수 없음) | 없음 | 이벤트 스트림이 오류로 인해 종료되는 경우 StorageError 로 호출되는 함수입니다. |
완료 | 수신 거부 | 없음 |
반환:
수신 거부 | 구독<UploadTaskSnapshot>
이벤트 인수만 전달되는 경우 콜백을 추가하는 데 사용할 수 있는 함수를 반환합니다 (위의 예 참조). 이벤트 인수 이상이 전달되면 콜백을 등록 취소하기 위해 호출할 수 있는 함수를 반환합니다.
예 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();
});
UploadTask.pause()
현재 실행 중인 태스크를 일시중지합니다. 일시중지되거나 실패한 태스크에는 영향을 미치지 않습니다.
서명:
pause(): boolean;
반환:
부울
작업이 적용되면 true, 무시되면 false입니다.
UploadTask.Resume()
일시중지된 작업을 재개합니다. 현재 실행 중이거나 실패한 태스크에는 영향을 미치지 않습니다.
서명:
resume(): boolean;
반환:
부울
작업이 적용되면 true, 무시되면 false입니다.
UploadTask.then()
이 객체는 프로미스처럼 동작하며 업로드가 완료되면 스냅샷 데이터로 확인됩니다.
서명:
then(onFulfilled?: ((snapshot: UploadTaskSnapshot) => unknown) | null, onRejected?: ((error: StorageError) => unknown) | null): Promise<unknown>;
매개변수
매개변수 | 유형 | 설명 |
---|---|---|
onFulfill | ((스냅샷: UploadTaskSnapshot) => 알 수 없음) | 없음 | 처리 콜백입니다. 프로미스 체이닝은 정상적으로 작동합니다. |
on거부됨 | ((오류: StorageError) => 알 수 없음) | 없음 | 거부 콜백입니다. |
반환:
약속<알 수 없음>