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

- 1 هفته پیش
توسط mahdi khanzadi آپدیت شد
Moja ( 515 تجربه )
1 هفته پیش

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

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

حسام موسوی ( 98109 تجربه )
1 هفته پیش

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

Moja ( 515 تجربه )
1 هفته پیش

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

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

mehdi ( 343 تجربه )
1 هفته پیش

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

Moja ( 515 تجربه )
1 هفته پیش

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

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

mahdi khanzadi ( 747 تجربه )
1 هفته پیش

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

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

https://github.com/spatie/async

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

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

برای ارسال پاسخ باید وارد سایت شوید