русский  עברית
tadam logo
דוגמאות jQuery
מצאתם שגיאה?
סמנו אותה עם העכבר ותלחצו
Ctrl + Enter
בדיקת כתיב Xhtml.co.il
Orphus system

אובייקט נדחה

jQuery.Deferred, מוצג לראשונה ב גרסה 1.5, הוא אובייקט כלים המשורשר, יכול לרשום מספר פונקציות קריאה חוזרת בתוך התור, להפעיל תור של פונקציות של קריאה חוזרת, ולהעביר מצב מוצלח או נכשל של כל פוקציה סינכרונית או אסינכרונית.

ב JavaScript זה מקובל להפעיל פונקציות שלחלופין מקבלות קריאות חוזרות המופעלות במסגרת פונקציה הזו.

לדוגמה, בגרסאות הקודמות של jQuery 1.5, תהליכים אסינכרונים, כמו jQuery.ajax() מקבלים פונקציות של קריאה חוזרת עבור שימוש בעתיד הקרוב במקרים של הצלחה, כישלון או סיום בקשת Ajax.

jQuery.Deferred מכניס מספר הרחבות בשיטות ניהול והפעלה. לדוגמה, jQuery.Deferred מספק דרכים גמישות עבור טיפול במספר קריאות חוזרות, וקריאות חוזרות האלה ניתן להפעיל ללא קשר לביצוע הפעלה של קריאה חוזרת מקורית.jQuery Deferred מבוסס על עיצוב של CommonJS Promises/A.

מודל אחד להבנת נדחים הוא לחשוב על זה בתור פונקצית עטיפה.שיטות deferred.then(), deferred.done(), ו deferred.fail() מציינות פונקציות עבור קריאה, ושיטות deferred.resolve(args) ו deferred.reject(args) מפעילות פונקציות עם ארגומנטים שספקתם. פעם דחיה pפתורה או בוטלה היא נשארת באותו מצב; קריאה חוזרת של deferred.resolve() תכשל, לדוגמה. אם פונקציות נוספות הוספו באמצעות deferred.then() אחרי שדחיה פתורה, הן יופעלו מייד עם הארגומנטים שסופקו לפני זה.

ברוב המקרים שבהם הפעלות של jQuery API מחזירות אובייקט נדחה או תואם-נדחה, כמו jQuery.ajax() או. jQuery.when(), אתם צריכים להשתמש בשיטות deferred.then(), deferred.done(), ו deferred.fail() עבור הפעלה של פונקציות קריאה חוזרת של תור הנדחה. הפעלות פנימיות של API או קוד, שמייצר דחיה מפעיל deferred.resolve() או deferred.reject() הנדחים בשלב כלשהו, שיגרום להפעלה של פונקציה של קריאה חוזרת.

בנאי jQuery.Deferred

בנאי jQuery.Deferred יוצר אובייקט נדחה חדש. מפעיל new הוא אופציאונלי.

jQuery.Deferred יכול להעביר פונקציה נוספת, שמופעלת מייד לפני החזרת הבנאי ומעביר אובייקט נוצר נדחה, וגם אובייקט this בתור ארגומנט הראשון של הפונקציה.פונקציה המופעלת של קריאה חוזרת ניתן לחבר באמצעות deferred.then() למשל.

אובייקט נדחה מתחיל במצב פתור. כל הקריאות החוזרות שהוספו לאובייקט באמצעות deferred.then(), deferred.done(), או deferred.fail() נכנסות לתור, כדי להיות מופעלות בהמשך. הפעלה של deferred.resolve() או deferred.resolveWith() מעבירה נדחה למצב פתור ומייד מפעיל כל doneCallback, שמוגדר.הפעלה של deferred.reject() או deferred.rejectWith() מעבירה נדחה למצב בוטל ומייד מפעיל כל failCallback, שמוגדר. מייד אחרי שאובייקט נכנס למצב פתור או בוטל הוא נשאר במצב הזה. ניתן להוסיף קריאות חוזרות, כדי לפתור או לבטל נדחה, הן יופעלו מייד.

אובייקט נדחה מסוגל לשרשור, בדומה לאובייקט של jQuery שמסוגל לשרשור, אבל יש לו שיטות משלו.אחרי יצירה של אובייקט נדחה, אתם יכולים להשתמש באחת מהשיטות הבאות, או לשרשר ישירות מיצירת אובייקט, או לשמור אובייקט בתוך המשתנה ולהשתמש באחת או יותר שיטות עבור משתמה הזה.

מוסיף מטפלים המופעלים כאשר אובייקט נדחה פתור או נדחה.
מוסיף מטפלים לביצוע כאשר אובייקט נדחה פתור.
מוסיף מטפלים לביצוע כאשר אובייקט נדחה בוטל.
קובע עם אובייקט נדחה בוטל.
קובע עם אובייקט נדחה פתור.
שיטת שירות עבור סינון ו/או שירשור אובייקטים נדחים.
מחזיר אובייקט נדחה מובטח.
מבטל אובייקט נדחה ומפעיל כל failCallback עם הארגומנטים הנתונים.
מבטל אובייקט נדחה ומפעיל כל failCallback עם נתונים תוכן וארגומנטים.
מאשר אובייקט נדחה ומפעיל כל doneCallback עם הארגומנטים הנתונים.
מאשר אובייקט הנדחה ומפעיל כל doneCallback עם נתונים תוכן וארגומנטים.
מוסיף מטפלים להפעלה כאשר אובייקט הנדחה בוטל או פתור.
מחזירה:הבטחה
מחזיר אובייקט Promise עבור צפיה, כאשר כל הפעולות מסוג מסוים קשורות לאיסוף, בתור או לא, סיימו.
האם מידע זה היה מועיל?
   

תגובות