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

برنامه نویسی ناهمزمان async و await در لاراول

به چه شکلی میشه این حالت رو در لاراول پیاده سازی کرد؟ (قسمتی از صفحه که نیاز به زمان پردازش بیشتری داره، از زمان لود سایت کنار گذاشته بشه و بعد از لود کامل صفحه همچنان به پردازش ادامه بده)

http://s8.picofile.com/file/8348792200/jeqlx1llh5bs.gif


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 6 سال پیش مطرح شد
0

سلام این تصویری که شما ارسال کردید چیه !؟
و اینکه php یک زبان sync هست و بشکل پیشفرض نمیشه چیزی رو بشکل async تعریف کرد .
تصویریم که قرار دادید صرفا یک ui هست که میتونه بخش های مختلفش با درخواست های http جدا از هم لود بشه


Moja
@moja 6 سال پیش مطرح شد
0

@hesammousavi
سلام عکس برای این بود که منظورم رو بهتر برسونم. اون بخشی از عکس مد نظرم بود که بعد از لود صفحه، هنوز دو تا بلاک که نیاز به پردازش طولانی‌تر دارن در حال لود شدن هستن. در حالی که بقیه صفحه کامل لود شده.

پس با لاراول نمیشه همچین کاری انجام داد؟ پکیجی برای اینکار وجود نداره؟


mehdi
@mehdttt 6 سال پیش مطرح شد
1

برای انجام این کار باید از Queue ها استفاده کنید. وقتی قصد دارید تا عملیاتی را بصورت همزمان انجام دهید باید آن را داخل یک صف اجرا کنید تا در یک thread دیگری اجرا شود مشکل این ترفند این هست که شما نمی توانید از Queue ها خروجی بگیرید و اگر بخواهید خروجی داشته باشید باید از ترفند های گونان نظیر کش استفاده کنید


Moja
@moja 6 سال پیش مطرح شد
0

@mehdints
میشه یه نمونه کد برای گرفتن خروجی این حالت از queue قرار بدید؟

در ضمن با ajax نمیشه همچین کاری انجام داد؟


mahdi khanzadi
تخصص : Software engineer
@khanzadimahdi 6 سال پیش مطرح شد
0

با سلام. اینکار رو میتونید با درخواست های ajax انجام بدید که به صورت async اجرا میشن. البته در اینجا چیزی که فرستادید بخشی از UI بود و بکند کار مشخص نیست چیه و چجوری کار میکنه!

اما برای php اگه میخواید async کار کنید از پکیج زیر استفاده کنید.

https://github.com/spatie/async

https://stitcher.io/blog/asynchronous-php

در حالت کلی php به صورت sync هست اما پکیج بالا حالت async رو براتون شبیه سازی میکنه.


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

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