Skip to main content

Promise Cache

MIDDLE

Promise Cache

Створіть обгортку кешу для асинхронних функцій, щоб уникнути зайвих викликів.

Вимоги:

  • Реалізувати promiseCache, яка обгортає асинхронну функцію
  • Кешувати результати за аргументами функції
  • Якщо використовуються ті самі аргументи знову, повернути кешований результат
  • Підтримати інвалідацію кешу
  • Правильно обробляти помилки (не кешувати помилки)

Приклад:

let callCount = 0;
const fetchUser = async (id) => {
  callCount++;
  return { id, name: `User${id}` };
};

const cachedFetch = promiseCache(fetchUser);

await cachedFetch(1); // Викликає fetchUser
await cachedFetch(1); // Повертає кешований результат
console.log(callCount); // 1

Examples:

Input 1:{"args":[5]}
Output 1:10
Input 2:{"args":[10]}
Output 2:11

Loading editor...

Run your code to see results

Click the Run button above