Javascript Node.js应用程序在运行循环一段时间后停止

Javascript Node.js应用程序在运行循环一段时间后停止,javascript,node.js,plotly,Javascript,Node.js,Plotly,我试图每分钟运行一些代码来更新plotly graph,但当我使用Node.js运行它时,它会在一小段时间后停止,并且不会更新我的帐户。这是我的代码(不包括我的plotly account init,它有我的plotly API密钥) 设n=0 让我们开始=Date.now() 让timer=Date.now()-timestart var timestart=Date.now() 设arr=[1,5,4,3,6] 设ar=[2,2,3,5,7] 让数据=[{ x:啊,, y:ar, 类型:“行

我试图每分钟运行一些代码来更新plotly graph,但当我使用Node.js运行它时,它会在一小段时间后停止,并且不会更新我的帐户。这是我的代码(不包括我的plotly account init,它有我的plotly API密钥)

设n=0
让我们开始=Date.now()
让timer=Date.now()-timestart
var timestart=Date.now()
设arr=[1,5,4,3,6]
设ar=[2,2,3,5,7]
让数据=[{
x:啊,,
y:ar,
类型:“行”
}]
让布局={
fileopt:“覆盖”,
文件名:“基本大小超时”
}
函数运行(){
console.log('test')
同时(计时器<60000){
n+=1
console.log(n)
timer=Date.now()-timestart
自动推力(n)
arr.push(Date.now()-start)
数据=[{
x:啊,,
y:ar,
类型:“行”
}]
}
发送()
}
函数send(){
plotly.plot(数据、布局、功能(错误、消息){
if(err)返回console.log(err);
控制台日志(msg);
});
运行()
}
运行()

当然,它会停止

这里有两种方法,
send()
run()

首先,调用
run()
方法,然后
run()
方法调用
send()
方法。在
send()
方法的末尾,再次调用
run()
方法

它的工作原理如下:

run() -> send() -> run() -> send() ......

因此,应用程序最终达到最大堆栈大小并停止。

当然,它将停止

这里有两种方法,
send()
run()

首先,调用
run()
方法,然后
run()
方法调用
send()
方法。在
send()
方法的末尾,再次调用
run()
方法

它的工作原理如下:

run() -> send() -> run() -> send() ......

因此,应用程序最终达到最大堆栈大小并停止。

设置60秒的超时时间,以便再次调用
run

function send() {
    plotly.plot(data, layout, function(err, msg) {
        // ...
    })

    setTimeout(() => {
       run()
    }, 60e3)
}

将超时设置为60秒以再次调用
run

function send() {
    plotly.plot(data, layout, function(err, msg) {
        // ...
    })

    setTimeout(() => {
       run()
    }, 60e3)
}

这是不幸的,因为出于某种原因,plotly不会在无限循环中更新其服务器。这是不幸的,因为出于某种原因,plotly不会在无限循环中更新其服务器