پرش به محتوا

کتابخانه

دانلود rsvp و نشانی CDN ایرانی

rsvp یه کتابخانه سبک جاوااسکریپته برای مرتب نگه داشتن کدهای ناهمزمان. یه پیاده سازی از Promise طبق استاندارد Promises/A+ داره و چند تابع کمکی مثل all و hash و race بهت می ده. هم توی مرورگر کار می کنه هم توی Node و برای مدیریت چند درخواست پشت سر هم یا موازی به کار می آد.

نسخه رسمی و بدون تغییر، از منبع رسمی با مجوز MIT؛ هش هر فایل با منبع بررسی شده است.

آخرین نسخه
۴.۸.۵
نسخه‌ها در مخزن
۱
مجوز
MIT
سازنده
Tilde, Inc. & Stefan Penner
آخرین بررسی
آخرین به‌روزرسانی
توضیحات

آخرین نسخه

آخرین نسخه ۴.۸.۵ آخرین

۲۷۳ کیلوبایت· ۳۱ فایل· انتشار

دانلود
نشانی مستقیم فایل اصلی https://mirror.wbweb.ir/npm/rsvp@4.8.5/dist/rsvp.js
کد آماده با SRI <script src="https://mirror.wbweb.ir/npm/rsvp@4.8.5/dist/rsvp.js" integrity="sha256-gh8paRg0RaIg+WGlWeopyrje/Z33aam+LJFJP/2YdxY=" crossorigin="anonymous"></script>

SHA-256: 821f2969183445a220f961a559ea29cab8defd9df769a9be2c91493ffd987716

درباره rsvp (آر اس وی پی)

rsvp رو تیم Tilde ساخته و با مجوز MIT منتشر شده. کارش اینه که کدهای ناهمزمان رو مرتب نگه داره. به جای اینکه callback رو توی callback بذاری و آخرش خودت هم گم بشی، با Promise کار می کنی. یه عملیات شروع می شه، بعدش یا موفق تموم می شه یا خطا می ده، و تو با then و catch مسیر هر دو حالت رو می نویسی. پیاده سازی rsvp با استاندارد Promises/A+ سازگاره، برای همین با Promiseهای دیگه هم راحت قاطی می شه.

ارزش اصلی کتابخانه فقط خود Promise نیست، توابع کمکیشه. فرض کن صفحه ای داری که باید لیست محصولات، موجودی و قیمت رو از سه جا بگیره. با RSVP.all صبر می کنی تا هر سه تموم بشن. اگه می خوای حتی وقتی یکی خطا داد، نتیجه بقیه رو داشته باشی، RSVP.allSettled همین کار رو می کنه. RSVP.hash مثل all کار می کنه، ولی به جای آرایه یه شیء با کلید می گیره و نتیجه رو هم با همون کلیدها پس می ده. RSVP.race اولین نتیجه رو برمی گردونه. map و filter هم برای کار روی مجموعه ای از مقدارهای ناهمزمان هستن. برای تبدیل توابع قدیمی Node که callback می گیرن به Promise هم denodeify رو داری.

کجا به درد می خوره؟ پروژه های قدیمی که هنوز باید روی مرورگرهای بدون Promise بومی کار کنن، کدهایی که از قبل روی rsvp نوشته شدن، و اکوسیستم Ember که مدت ها ازش استفاده می کرد. کجا نه؟ اگه پروژه جدیدی می سازی و فقط مرورگرهای امروزی مخاطبتن، Promise بومی و async/await معمولاً کافیه و لازم نیست یه وابستگی اضافه کنی. یادت باشه rsvp رابط کاربری نداره و فقط منطق برنامه رو مرتب می کنه.

یه نکته عملی: آخر هر زنجیره Promise یه catch بذار. خطایی که کسی نگیرتش بی صدا گم می شه و بعداً دنبال دلیلش می گردی. نکته دوم به شرایط خودمون برمی گرده. اگه اسکریپت رو از یه منبع خارجی لود کنی، توی روزهای اختلال اینترنت بین الملل ممکنه صفحه ات نصفه بمونه. نسخه های رسمی و بدون تغییر rsvp توی مخزن داخلی ما هم هست و می تونی از روی هاست خودت سرو کنی.

راهنمای استفاده

استفاده از rsvp توی یه صفحه معمولی یا قالب وردپرس چند قدم بیشتر نداره:

  • فایل رو از همین صفحه بردار و کد آماده پایین صفحه رو توی HTML یا توی تابع بارگذاری اسکریپت قالبت بذار.
  • اگه سایتت وردپرسیه، اسکریپت رو با wp_enqueue_script ثبت کن و دستی توی هدر نچسبونش. این طوری تداخل با افزونه های دیگه کمتر می شه.
  • اسکریپت خودت رو بعد از rsvp لود کن، وگرنه موقع اجرا خطای RSVP is not defined می گیری.
  • با RSVP.Promise یه Promise بساز و تابع اجراکننده اش رو بنویس. وقتی کار تموم شد resolve و وقتی خطا شد reject رو صدا بزن. بعدش با then نتیجه رو بگیر.
  • برای چند عملیات همزمان از RSVP.all یا RSVP.allSettled و برای نتیجه با کلید از RSVP.hash استفاده کن.
  • آخر زنجیره یه catch بذار تا خطاها گم نشن.

اگه توی پروژه Node یا با ابزار بیلد کار می کنی، بسته npm با نام rsvp رو نصب کن و import کن. قبل از انتشار روی سایت اصلی هم یه بار توی محیط تست چک کن که مرورگرهای هدفت درست اجرا می کنن.

همه نسخه‌ها (۱)

نسخه‌های ۴.x ۱ نسخه
  • ۴.۸.۵ آخرین نسخه ۲۷۳ کیلوبایت·
    دانلودنسخه 4.8.5
    نشانی مستقیم فایل اصلی 4.8.5 https://mirror.wbweb.ir/npm/rsvp@4.8.5/dist/rsvp.js

پرسش‌های رایج

  • Promise بومی مرورگر کار اصلی رو انجام می ده، ولی rsvp علاوه بر اون چند تابع کمکی مثل hash و denodeify بهت می ده و روی مرورگرهای قدیمی که Promise ندارن هم کار می کنه. اگه فقط مرورگرهای امروزی مخاطبت هستن، معمولاً همون بومی کافیه.

  • فقط وقتی کدت بهش وابسته باشه. وردپرس rsvp رو همراه خودش نداره، پس اگه قالب یا اسکریپت سفارشی ات از RSVP استفاده می کنه، فایلش رو با wp_enqueue_script ثبت کن و اسکریپت خودت رو وابسته به اون تعریف کن تا ترتیب لود درست باشه. اگه کدت بهش نیازی نداره، لازم نیست چیزی اضافه کنی.

  • RSVP.all وقتی همه Promiseها موفق بشن نتیجه رو می ده، ولی اگه یکی خطا بده، کل نتیجه به سمت خطا می ره. RSVP.allSettled صبر می کنه همه تموم بشن و وضعیت هر کدوم رو جدا بهت می ده، چه موفق شده باشه چه خطا داده باشه. وقتی می خوای نتیجه بقیه هم از دست نره، این یکی رو بردار.

چیزی که لازم دارید اینجا نیست؟

نام کتابخانه، افزونه یا قالب را بفرستید؛ پس از بررسی، نسخه‌های رسمی آن به مخزن اضافه می‌شود.