مهدی
4 سال پیش توسط مهدی مطرح شد
3 پاسخ

نتیجه undefined توی Js

سلام این نتیجه رو چرا 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));

ثبت پرسش جدید
سهیل حیدری
@hbr 4 سال پیش مطرح شد
1

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

information=>{
let x=new data(information);
x.Gettinginformation();
}

مهدی
تخصص : Javascript programming
@finalcode 4 سال پیش مطرح شد
0

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


سهیل حیدری
@hbr 4 سال پیش مطرح شد
0

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


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

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