1
0
Fork 0
mirror of https://gitlab.com/mfocko/LeetCode.git synced 2024-09-19 17:56:55 +02:00

problems(js): add “2637. Promise Time Limit”

Signed-off-by: Matej Focko <me@mfocko.xyz>
This commit is contained in:
Matej Focko 2023-05-18 20:10:57 +02:00
parent d5c96c6a21
commit dbf39a2ad0
Signed by: mfocko
GPG key ID: 7C47D46246790496

View file

@ -0,0 +1,19 @@
/**
* @param {Function} fn
* @param {number} t
* @return {Function}
*/
var timeLimit = function(fn, t) {
return async function(...args) {
return new Promise((resolve, reject) => {
setTimeout(() => reject("Time Limit Exceeded"), t);
fn(...args).then(resolve).catch(reject);
});
}
};
/**
* const limited = timeLimit((t) => new Promise(res => setTimeout(res, t)), 100);
* limited(150).catch(console.log) // "Time Limit Exceeded" at t=100ms
*/