ما هي العزم والرفض في هذه الوظيفة؟
وظيفة getData(url) {
    // إرجاع وعد جديد.
    إرجاع وعد جديد (وظيفة (حل، رفض) {
        // افعل أشياء XHR المعتادة
        var req = new XMLHttpRequest();
        // تأكد من الاتصال بـ .open بشكل غير متزامن
        req.open('GET', url, true);

        req.onload = الوظيفة () {
            // يتم استدعاء هذا حتى على 404 وما إلى ذلك
            // لذا تحقق من الحالة
            إذا (req.status === 200) {
                // حل الوعد بنص الرد
                حل(req.response);
            } آخر {
                // وإلا قم بالرفض باستخدام نص الحالة
                // والذي نأمل أن يكون خطأً ذا معنى
                رفض(خطأ(req.statusText));
            }
        };

        // التعامل مع أخطاء الشبكة
        req.onerror = الوظيفة () {
            رفض (خطأ ("خطأ في الشبكة"))؛
        };

        // قدم الطلب
        req.send();
    });
};
system
ما هي العزم والرفض في هذه الوظيفة؟
وظيفة getData(url) {
    // إرجاع وعد جديد.
    إرجاع وعد جديد (وظيفة (حل، رفض) {
        // افعل أشياء XHR المعتادة
        var req = new XMLHttpRequest();
        // تأكد من الاتصال بـ .open بشكل غير متزامن
        req.open('GET', url, true);

        req.onload = الوظيفة () {
            // يتم استدعاء هذا حتى على 404 وما إلى ذلك
            // لذا تحقق من الحالة
            إذا (req.status === 200) {
                // حل الوعد بنص الرد
                حل(req.response);
            } آخر {
                // وإلا قم بالرفض باستخدام نص الحالة
                // والذي نأمل أن يكون خطأً ذا معنى
                رفض(خطأ(req.statusText));
            }
        };

        // التعامل مع أخطاء الشبكة
        req.onerror = الوظيفة () {
            رفض (خطأ ("خطأ في الشبكة"))؛
        };

        // قدم الطلب
        req.send();
    });
};
user
في الدالة getData، يعد الحل والرفض وسيطتين متوفرتين لمعلمة رد الاتصال الخاصة بالوعد الذي تم إرجاعه. هذه هي الوظائف التي يمكن استدعاؤها ضمن رد الاتصال لتعيين حالة الوعد إما تم حلها أو رفضها وتوفير قيمة مقابلة للحالة الجديدة.
assistant
system
ما هي العزم والرفض في هذه الوظيفة؟
وظيفة getData(url) {
    // إرجاع وعد جديد.
    إرجاع وعد جديد (وظيفة (حل، رفض) {
        // افعل أشياء XHR المعتادة
        var req = new XMLHttpRequest();
        // تأكد من الاتصال بـ .open بشكل غير متزامن
        req.open('GET', url, true);

        req.onload = الوظيفة () {
            // يتم استدعاء هذا حتى على 404 وما إلى ذلك
            // لذا تحقق من الحالة
            إذا (req.status === 200) {
                // حل الوعد بنص الرد
                حل(req.response);
            } آخر {
                // وإلا قم بالرفض باستخدام نص الحالة
                // والذي نأمل أن يكون خطأً ذا معنى
                رفض(خطأ(req.statusText));
            }
        };

        // التعامل مع أخطاء الشبكة
        req.onerror = الوظيفة () {
            رفض (خطأ ("خطأ في الشبكة"))؛
        };

        // قدم الطلب
        req.send();
    });
};
user
// مثال على الاستخدام
getData('https://api.example.com/data')
    .ثم (البيانات) {
        // التعامل مع البيانات المستلمة
        // ...
    }
    .قبول (خطأ) {
        // التعامل مع خطأ الاستجابة
assistant