首页 > 解决方案 > 超时后返回默认值

问题描述

我有一个长时间运行的函数调用,我想限制它的执行时间。

function f(a,b,c) {
  // some long-running code
  return value;
}

var val = f(a,b,c); // this call should be limited to x milliseconds
                    // if the function doesn't return we continue with a fall-back value (which is available in the calling method)

如何使用超时调用此代码,以便在执行完成时返回value,否则返回默认值?

我发现了这个问题,但它已有 9 年历史,我无法获得针对我的用例修改的最新答案(使用 Promises 的答案)。有没有更简单的方法来实现这一点?

标签: javascriptasynchronousasync-await

解决方案


推荐阅读