فرآیند آپلود یک شی را نشان می دهد. به شما امکان نظارت و مدیریت آپلود را می دهد.
امضا:
export interface UploadTask
خواص
ویژگی | تایپ کنید | شرح |
---|---|---|
عکس فوری | UploadTaskSnapshot | تصویری از وضعیت فعلی وظیفه. |
مواد و روش ها
روش | شرح |
---|---|
لغو() | یک کار در حال اجرا را لغو می کند. هیچ تاثیری روی یک کار کامل یا شکست خورده ندارد. |
گرفتن (در رد شده) | معادل فراخوانی then(null, onRejected) است. |
روشن (رویداد، nextOrObserver، خطا، کامل) | به رویدادهای مربوط به این کار گوش می دهد. رویدادها دارای سه عملکرد برگشت به تماس هستند (به عنوان next ، error ، و complete ). اگر فقط رویداد ارسال شود، تابعی که میتواند برای ثبت تماسهای برگشتی استفاده شود، برگردانده میشود. در غیر این صورت، تماس ها پس از رویداد ارسال می شوند. Callback ها می توانند به عنوان سه آرگومان جداگانه یا به عنوان ویژگی next ، error و complete یک شی ارسال شوند. هر یک از سه تماس برگشتی اختیاری است، تا زمانی که حداقل یکی از آنها مشخص شده باشد. علاوه بر این، هنگامی که تماس های خود را اضافه می کنید، یک تابع را دریافت می کنید. می توانید این تابع را برای لغو ثبت تماس های مربوطه فراخوانی کنید. |
مکث() | یک کار در حال اجرا را متوقف می کند. هیچ تأثیری روی یک کار متوقف شده یا شکست خورده ندارد. |
از سرگیری() | یک کار متوقف شده را از سر می گیرد. هیچ تاثیری روی یک کار در حال اجرا یا شکست خورده ندارد. |
سپس (در تکمیل، در رد شده) | این شی مانند یک Promise عمل می کند و پس از اتمام آپلود، با داده های عکس فوری خود حل می شود. |
UploadTask.snapshot
تصویری از وضعیت فعلی وظیفه.
امضا:
snapshot: UploadTaskSnapshot;
UploadTask.cancel()
یک کار در حال اجرا را لغو می کند. هیچ تاثیری روی یک کار کامل یا شکست خورده ندارد.
امضا:
cancel(): boolean;
برمیگرداند:
بولی
درست است اگر لغو تأثیر داشته باشد.
UploadTask.catch()
معادل فراخوانی then(null, onRejected)
.
امضا:
catch(onRejected: (error: StorageError) => unknown): Promise<unknown>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
در رد شد | (خطا: StorageError ) => ناشناخته |
برمیگرداند:
قول<ناشناس>
UploadTask.on()
به رویدادهای مربوط به این کار گوش می دهد.
رویدادها دارای سه عملکرد برگشت به تماس هستند (به عنوان next
نامیده می شود ، error
، و complete
).
اگر فقط رویداد ارسال شود، تابعی که میتواند برای ثبت تماسهای برگشتی استفاده شود، برگردانده میشود. در غیر این صورت، تماس ها پس از رویداد ارسال می شوند.
Callback ها می توانند به عنوان سه آرگومان جداگانه یا به عنوان آرگومان next
ارسال شوند ، error
و خصوصیات complete
یک شی. هر یک از سه تماس برگشتی اختیاری است، تا زمانی که حداقل یکی از آنها مشخص شده باشد. علاوه بر این، هنگامی که تماس های خود را اضافه می کنید، یک تابع را دریافت می کنید. می توانید این تابع را برای لغو ثبت تماس های مربوطه فراخوانی کنید.
امضا:
on(event: TaskEvent, nextOrObserver?: StorageObserver<UploadTaskSnapshot> | null | ((snapshot: UploadTaskSnapshot) => unknown), error?: ((a: StorageError) => unknown) | null, complete?: Unsubscribe | null): Unsubscribe | Subscribe<UploadTaskSnapshot>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
رویداد | TaskEvent | نوع رویداد برای گوش دادن |
nextOrObserver | StorageObserver < UploadTaskSnapshot > | null | ((عکس فوری: UploadTaskSnapshot ) => ناشناخته) | تابع next که برای هر آیتم در جریان رویداد یا یک شی ناظر با برخی یا همه این سه ویژگی ( next ، error ، complete ) فراخوانی می شود. |
خطا | ((الف: 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;
برمیگرداند:
بولی
درست است اگر عملیات موثر باشد، نادرست است اگر نادیده گرفته شود.
UploadTask.resume()
یک کار متوقف شده را از سر می گیرد. هیچ تاثیری روی یک کار در حال اجرا یا شکست خورده ندارد.
امضا:
resume(): boolean;
برمیگرداند:
بولی
درست است اگر عملیات موثر باشد، نادرست است اگر نادیده گرفته شود.
UploadTask.then()
این شی مانند یک Promise عمل می کند و پس از اتمام آپلود، با داده های عکس فوری خود حل می شود.
امضا:
then(onFulfilled?: ((snapshot: UploadTaskSnapshot) => unknown) | null, onRejected?: ((error: StorageError) => unknown) | null): Promise<unknown>;
مولفه های
پارامتر | تایپ کنید | شرح |
---|---|---|
onFulfilled | ((عکس فوری: UploadTaskSnapshot ) => ناشناخته) | خالی | پاسخ تماس تکمیلی. زنجیر کردن وعده به طور معمول کار می کند. |
در رد شد | ((خطا: StorageError ) => ناشناخته) | خالی | پاسخ رد تماس. |
برمیگرداند:
قول<ناشناس>