是否可以在延迟后中止功能?像这样:
function f() {
//Do some process here
}
after(10000).stop(f)
关于该怎么做的任何想法? 谢谢。
答案 0 :(得分:1)
尝试这样的集群模块
ASSERT
答案 1 :(得分:0)
您可以将函数包装在检查时间的函数中。
function stopExecutingAfter(timeout, fn) {
var stopifAfter = Date.now() + timeout
return function() {
if(Date.now() > stopIfAfter) return
fn.apply(null, arguments)
}
}
答案 2 :(得分:0)
所以我们将拥有killer.js库
const cluster = require('cluster');
module.exports = (fn, delay) => {
if (cluster.isMaster) {
const fn = cluster.fork();
setTimeout(_=>fn.process.kill(), delay);
} else {
fn();
}
}
使用示例以及
const killer = require('./killer');
function fn() {
for(;;) process.stdout.write('#');
}
killer(fn, 100);