پارسا
5 سال پیش توسط پارسا مطرح شد
2 پاسخ

مشکل در axios

با سلام.
وقتی میخوام با axios درخواستی ارسال کنم، توی متد Then ، دارم دیتا لود میکنم توی صفحه
اما این لود شدن طول میکشه.بنابراین تا لود شدن کامل، من دسترسی این به تعداد آیتم های لود شده توی DOM ندارم
خودِ axios چیزی داری که مثل promise عمل کنه ؟


ثبت پرسش جدید
مهدی پاکروان
تخصص : Mernstack Developer
@mahdipakravan 5 سال پیش مطرح شد
0

متد Then مال Promise هستش دیگه !
حالا فریمورک جاوااسکریپتی شما رو من نمیدونم اما مثلا توی React میتونی توی State خودتون یک Loading قرار بزارین و اون رو True و False کنید


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش مطرح شد
0

مثال بخوام بزنم

<script>
    new Vue({
        el: '#container',
        data: {
            isLoaded: false,
            user: {}
        },
        mounted() {
            this.getUserData();
        },
        methods: {
            getUserData(){
                axios.post('/user/get').then((response) => {

                    this.isLoaded = true;

                    // Check the response was a success
                    if(response.data.status === 'success')
                    {
                        this.user = response.data.user;
                    }
                });
            },
        }
    })
</script>

کدهای vue

<div v-if="isLoaded">
   <!-- If user.name exists, display user.name -->
   <div v-if="user.name">
       @ {{ user.name }}
   </div>
</div>

<div v-else>
    Loading...
</div>

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

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