راکت
حل شده

نتیجه undefined توی Js

3 پاسخ

سلام این نتیجه رو چرا undefined میده

class data {
    constructor(data) {
        this.data = data;
    }
    Gettinginformation() {
        console.log(this.data);
    }
}
let x = new data();
x.Gettinginformation();

//******************

let pro = new Promise((res, rej) => {
    let req = new XMLHttpRequest;
    req.open('GET', 'data.json', true);
    req.onloadend = () => {
        if (req.status === 200 && req.readyState === 4) {
            res(JSON.parse(req.responseText));
        } else {
            rej('somthing is wrong');
        }
    }
    req.send();
    console.log(req);
}).then(information => new data(information)).catch(err => console.log(err));
مهدی
مهدی
@finalcode
ثبت پرسش جدید

پاسخ‌ها

3
سهیل حیدری
سهیل حیدری
@hbr
بهترین پاسخ

این رو حذف کنید x.Gettinginformation(); و این خط رو(information => new data(information)) به شکل زیر تغییر بدید

information=>{
let x=new data(information);
x.Gettinginformation();
}
مهدی
مهدی
@finalcode

تخصص: Javascript programming

@khosravi424
چرا information => new data(information) نمیاورد ایرادش از کجا بود ممنون میشم توضیح بدین
روش شما برام جواب داد خیلی ممنون

سهیل حیدری
سهیل حیدری
@hbr

@yasermahdiazizzadeh
ببینید شما آمدین شی رو بیرون از نتیجه promise نوشتید که هیچ ربطیبه داده ی داخل then نداره لذا باید بیاین و داخل promise وقتی که نتیجه برگشت داده میشه شی رو از روی نتیجه برگشت داده شده بسازید حالا اصطلاحا شی شما با object ای که داخل then برگشت داده شده initial شده و حالا میتونید ازش استفاده کنید از متدهاش.
موفق باشید

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام