javascript - 使用 setInterval() 在 NodeJS 上创建多个 Timeout 对象
问题描述
setInterval
使用 node.js,多次调用的可扩展性如何?我想创建一个作业系统,其中需要以不同的时间间隔执行定期作业,我当前的解决方案是为每个新作业创建一个超时(通过调用)。setInterval
目前,我将回调函数设置为异步调用。
我正在尝试了解最佳可扩展性和高性能实践,以在 node.js 应用程序中维护越来越多的 Timeouts 对象,以避免将来出现内存和性能问题。
解决方案
呃,详细说明很难,因为我不知道确切,应该做。
好的,让我试一试(也许我很幸运)。一般来说,你可以想到类似的东西:
function Job {
function taskA() {
return new Promise(resolve => {
setTimeout(function() {
resolve('result A');
}, 1000);
});
}
function taskB(arg) {
return new Promise(resolve => {
setTimeout(function() {
resolve('result B of ' + arg);
}, 1000);
});
}
// would allow this chain:
this.work = () => {
taskA()
.then(resA => taskB(resA))
.then(resB => console.log(resB));
}
}
推荐阅读
- java - OWLAPI 5:如何遍历我的本体类以插入个体?
- python - Python - 如果第一个元组键不在其他字典中,则从字典中删除项目
- machine-learning - 多时间序列中的模式识别
- javascript - 防止功能组件使用默认值覆盖数据
- nginx - Nginx:缓存 Brotli 压缩代理上游响应
- r - 使用特定过滤器进行汇总
- powershell - 如何将参数列表中的类对象传递给另一台计算机并在其上调用函数?
- ios - 如何修复 Xcode 中的“固定宽度约束可能导致剪辑”警告?
- hive - HIVE 中的空桶
- c# - 如何将标签页的上下文绑定到 Xamarin 的 CS 代码中的其他页面?