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

deferred.promise()

deferred.promise()

מחזירה: הבטחה
תיאור: מחזיר אובייקט נדחה מובטח.

ארגומנטים

deferred.isResolved()

הוספה בגרסה: 1.5

שיטה deferred.promise() מאפשרת לפונקציות אסינכרוניות למנוע מקוד אחר מלהתערב בהתקדמות או במצב של בקשה הפנימית שלה. Promise חושף רק את שיטות נדחות הנדרשות לצרף מטפלים נוספים או לקבוע את המצב (then, done, fail, isResolved, ו isRejected), אבל לא את אלה המשנות את המצב (resolve, reject, resolveWith, ו rejectWith).

אם אתם יוצרים אובייקטים נדחים, שמרו קישור אל האובייקט כך שיהיה ניתן לפתור או לבטל אותו בשלב מסוים. אובייקט Promise מוחזר רק דרך deferred.promise(), כך קוד אחר יכול לרשום קריאות חוזרות או לבדוק מצב הנוכחי.

עבור מידע נוסף ראו אובייקט נדחה.

דוגמה

טסט הזה יוצר אובייקט נדחה ומגדיר שתי פונקציות מבוססות טיימר, או כדי לפתור או לבטל את נדחים לאחר זמן אקראי. טיימר ראשון מפעיל אובייקט ראשון ואחת מפונקציות חוזרות. לטיימר השני אין כל השפעה מאז נדחים הסתיימו (במצב פתור או בוטל) מהפעלה הראשונה של טיימר.
// Create a Deferred and return its Promise
function asyncEvent(){
    var dfd = new jQuery.Deferred();
    setTimeout(function(){
        dfd.resolve("hurray");
    }, Math.floor(Math.random()*1500));
    setTimeout(function(){
        dfd.reject("sorry");
    }, Math.floor(Math.random()*1500));
    return dfd.promise();
}

// Attach a done and fail handler for the asyncEvent
$.when( asyncEvent() ).then(
    function(status){
        alert( status+', things are going well' );
    },
    function(status){
        alert( status+', you fail this time' );
    }
);
האם מידע זה היה מועיל?
   

תגובות