跳到主要内容

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);
});
};
}