我正在尝试运行一些代码来每分钟更新一次绘图,但是当我使用节点js运行它时,它会在一段时间后停止,并且不会更新我的帐户,这是我的代码(不包括我的绘图)帐户初始化,其中包含我的密谋api密钥)
let n = 0
let start = Date.now()
let timer = Date.now() - timestart
var timestart = Date.now()
let arr = [1, 5, 4, 3, 6]
let ar = [2, 2, 3, 5, 7]
let data = [{
x: arr,
y: ar,
type: 'line'
}]
let layout = {
fileopt: "overwrite",
filename: "prime size overtime"
}
function run() {
console.log('test')
while (timer < 60000) {
n += 1
console.log(n)
timer = Date.now() - timestart
ar.push(n)
arr.push(Date.now() - start)
data = [{
x: arr,
y: ar,
type: 'line'
}]
}
send()
}
function send() {
plotly.plot(data, layout, function(err, msg) {
if (err) return console.log(err);
console.log(msg);
});
run()
}
run()
答案 0 :(得分:1)
当然会停止。
您在send()
和run()
中有两种方法。
首先,调用run()
方法,然后run()
方法调用send()
方法。在send()
方法的末尾,再次调用run()
方法。
它的工作方式类似于
run() -> send() -> run() -> send() ......
因此,您的应用程序最终达到最大堆栈大小并停止。
答案 1 :(得分:1)
设置60秒钟的超时时间以再次调用run
:
function send() {
plotly.plot(data, layout, function(err, msg) {
// ...
})
setTimeout(() => {
run()
}, 60e3)
}