我是nodeJs(和JS)的新手,所以你能解释一下(或给出一个链接)如何编写简单的服务o nodeJs,它是永久运行的吗?
我想写服务,每隔一秒就向国外API发送请求到结果吧。
那么,也许nodeJs有一些简单的模块可以一遍又一遍地运行js方法(方法)?
或者,我只需要编写user/{id?/modify/
循环并在那里进行操作?
答案 0 :(得分:3)
class MyButton
{
public string ButtonText {get;set;}
}
是你在node.js中每秒运行一次的东西。这将在每NN毫秒调用一次回调,您传递NN的值。
setInterval()
如果您希望永久运行,您还需要处理您所联系的远程服务器处于脱机状态或出现问题并且不像正常情况那样响应的情况(例如,它可能需要多于一个第二个是麻烦的超时或失败请求)。在完成处理后1秒钟重复使用var interval = setInterval(function() {
// execute your request here
}, 1000);
来安排下一个请求可能会更安全。
setTimeout()
在此代码块中,function runRequest() {
issueRequest(..., function(err, data) {
// process request results here
// schedule next request
setTimeout(runRequest, 1000);
})
}
// start the repeated requests
runRequest();
只是您正在进行的任何网络操作的占位符(我个人可能会使用issueRequest()
模块并使用request()
。
因为您的请求处理是异步的,所以这实际上不会是递归,也不会导致堆栈堆积。
仅供参考,具有活动传入服务器或活动计时器或进程内网络操作的node.js进程将不会退出(它将继续运行),只要您始终运行计时器或运行网络请求,你的node.js进程将继续运行。