2637.有时间限制的Promise对象
链接:2637.有时间限制的Promise对象
难度:Medium
标签:
简介:请你编写一个函数,它接收一个异步函数 fn 和一个以毫秒为单位的时间 t。它应根据限时函数返回一个有 限时 效果的函数。
题解 1 - typescript
- 编辑时间:2023-04-24
- 执行用时:64ms
- 内存消耗:42.3MB
- 编程语言:typescript
- 解法介绍:每次调用时设置定时器定时reject。
type Fn = (...params: any[]) => Promise<any>;
function timeLimit(fn: Fn, t: number): Fn {
return async function (...args) {
return new Promise((resolve, reject) => {
fn(...args).then(resolve, reject);
setTimeout(() => reject('Time Limit Exceeded'), t);
});
};
}