Preskoči na vsebino

العمليات غير المتزامنة

الوحدة: async/* | العوامل: 8

التحكم في التوقيت مع التأخير والتأجيل وإعادة المحاولة والمهلات.


مرجع العوامل

async/delay

تأخير · وسيط واحد · يُعيد void

الانتظار لعدد محدد من المللي ثانية

["async/delay", 2000] // انتظار ثانيتين

async/timeout

مهلة · وسيطان · يُعيد any

إضافة مهلة لتأثير

["async/timeout", ["call", "api", "fetchData"], 5000]

async/debounce

تأجيل · وسيطان · يُعيد void

تأجيل حدث (الانتظار لتوقف الأحداث)

["async/debounce", "SEARCH", 300]

async/throttle

تقييد · وسيطان · يُعيد void

تقييد حدث (إرسال مرة واحدة كحد أقصى لكل فترة)

["async/throttle", "SCROLL", 100]

async/retry

إعادة المحاولة · وسيطان · يُعيد any

إعادة محاولة تأثير مع تراجع قابل للتهيئة

المعاملالنوعالوصف
effectexpressionالتأثير لإعادة محاولته
optsobject{ attempts, backoff, baseDelay }
["async/retry",
["call", "api", "fetchData", { "id": "@entity.id" }],
{ "attempts": 3, "backoff": "exponential", "baseDelay": 1000 }]

async/race

سباق · وسيطان أو أكثر · يُعيد any

تنفيذ تأثيرات بالتوازي، إعادة أول من يكتمل

["async/race", ["call", "api1"], ["call", "api2"]]

async/all

الكل · وسيطان أو أكثر · يُعيد array

تنفيذ تأثيرات بالتوازي، انتظار اكتمال الجميع

["async/all", ["call", "api1"], ["call", "api2"]]

async/sequence

تسلسل · وسيطان أو أكثر · يُعيد array

تنفيذ تأثيرات بالتسلسل (واحد تلو الآخر)

["async/sequence", ["call", "validate"], ["call", "save"]]