Tag: setinterval

每x秒刷新一次帕格variables值

是否有可能每隔x秒刷新一个帕格variables? 我有以下代码: router.get("/rooms", function(req, res) { device_data.find({ "selector": { "payload.d.data": { "$gte": 0 } }, "fields": [ "_id", "deviceId", "payload.d.data", "payload.d.time" ], "sort": [{ "payload.d.time": "desc" }] }, function(err, device) { if (err) { throw err; } else { res.render(path + 'rooms', { rooms: rooms, }); }); 我尝试在device_data.find之前使用setInterval,但它不起作用。

setTimeout不能按要求工作?

我正在使用socket.io连续发送一些数据从服务器到客户端。 所以我正在使用setTimeout函数定期发送数据。 而睡眠时间不是恒定的,所以我不使用setInterval。 但setTimeout不起作用。 我正在使用服务总线从我的工作者angular色获取一些数据,这些数据将定期发送到客户端。 这是我的代码。 var sleepTime; function requestQueue() { sleepTime = 0; console.log("REQUEST QUEUE STARTED"); console.log("SEND to WORKER ROLE"); // send the request to worker role var broadcastMessage = {} broadcastMessage.Channel = "World"; broadcastMessage.BufferSize = 10; sendMessage(socketToWorkerRole, broadcastMessage) receivePeriodicRecordsQueue(workerRoleToSocket); } //// function receivePeriodicRecordsQueue(queue) { serviceBusService.receiveQueueMessage(queue, function (error, receivedMessage) { if (!error) { if […]

Node.js setInterval生命周期

一个setInterval在node.js中可以持续多久? 我需要使用它作为一个cron工作。 我不在乎服务器是否重新启动并重置间隔,重要的是不要停止。

在单个进程中排队JavaScript代码

比方说,我在一个对象中有一堆的任务,每个都有一个date对象。 我想知道是否有可能使对象内的任务在单个进程中运行,并在调用date时触发。 这是一个例子: var tasks = [ "when": "1501121620", "what": function(){ console.log("hello world"); }, "when": "1501121625", "what": function(){ console.log("hello world x2"); }, ] 将这些数据存储在数据库中,以及从string中eval what脚本,我都没有问题。 我需要一个正确的方向。 我从来没有在节点世界看到过这样的事情。 我正在考虑使用hotload和使用文件系统,所以我不需要处理数据库。 我应该看看setInterval还是有更复杂的东西呢? 我知道像cron这样的东西存在,事情是我需要所有这些任务发生在已经存在的正在运行的进程中。 我需要能够添加一个新的任务队列没有结束的过程。 为了添加一个小环境,我需要一些排队socket.io.emit .emit()函数的方法。

AngularJS http获得settimeout逻辑

我有一个问题,公司之一有这么多的数据,加载这么长的时间,以显示在我的AngularJs项目。 有时,当连接种类被切断或请求超时时,它不会出现。 那时,我的客户要显示一些消息,并重新运行该函数来重新加载数据。 后端正在使用NodeJS。 请帮助我如何充分满足我客户的要求。 这是我的代码从后端获取数据。 $scope.tableParams = new ngTableParams({ page: 1, // show first page count: 20, // count per page sorting: { title: 'asc' // initial sorting }, filter: { title: filterText, is_active: $scope.IsActive } }, { total: 0, getData: function ($defer, params) { companyService.getDataBelongToCompany($scope.companyId, params.url()).then(function (data) { params.total(data.total); $defer.resolve(data.jobs); $scope.collapsed = false; […]

有没有更好的方法来监听节点JS中的表更改,而不使用setInterval()函数

我正在学习与Codeigniter Node JS集成。 这个过程正在完善。 我在数据库(MySql)发生某些更改时显示一些实时通知 现在我正在使用setInterval()函数,时间为5秒。 这将每5秒钟调用一次数据库查询。 有没有更好的方式来监听没有setInterval()function的数据库更改? 我的代码示例是 io.on('connection', function(socket){ setInterval(check_new_notification, 5000); }); socket.on('check_new_notification', function(user,time){ check_new_notification(user,time); }); function check_new_notification(user,time){ if(user == '' || typeof user == 'undefined' || user == null){ user = user_id; } if(time == '' || typeof time == 'undefined'){ time=0; } if(user != '' && typeof user != 'undefined' && […]

我如何使function在后台运行?

我有这个代码定期调用loadfunction,这非常负载工作需要10秒。 问题是当load函数被执行时,它阻塞了主stream。 如果在执行load发送一个简单的GET请求(如运行状况检查),GET调用将被阻塞,直到load调用完成。 function setLoadInterval() { var self = this; this.interval = setInterval(function doHeavyWork() { // this takes 10 sec self.load(); self.emit('reloaded'); }, 20000); 我尝试了async.parallel,但仍然阻止了GET调用。 我试过setTimeout但得到了相同的结果。 如何使load在后台运行,以防止主stream? this.interval = setInterval(function doHeavyWork() { async.parallel([function(cb) { self.load(); cb(null); }], function(err) { if (err) { // log error } self.emit('reloaded'); }) }, 20000);

将parameter passing给setInterval会导致奇怪的行为

我正在做一个简单的脚本读出node.js中的nginx服务器状态我不认为我的问题与node.js本身有关,但更多的是如何使用setInterval()函数的问题。 我不想粘贴所有的代码,因为这使得阅读有点混乱。 当你运行这个代码时,你会看到这个: pre-Timer for web25 pre-Timer for web26 pre-Timer for web27 pre-Timer for web28 pre-Timer for web29 Timer for web29 Fetch host? web29 Timer for web29 Fetch host? web29 Timer for web29 Fetch host? web29 Timer for web29 Fetch host? web29 Timer for web29 Fetch host? web29 正如你所看到的,定时器只使用循环的最后一个主机。 不知何故,它并没有将variables的副本作为setInterval作用域。 我究竟做错了什么? 部分代码: var http = […]

基于时间的javascript函数与setInterval

我使用node.js,但这个问题是严格的JavaScript相关。 我正在与一个i2c板接口来淡化灯光,我想以特定的速度淡化它们,比如说1秒。 现在用setInterval,理论上它应该像…如果我想在1秒内淡出100步,我可以做一些像… var fader = setInterval(function(){ //will fade light 100 steps in 1 second doFade(something,something); },10) 但取决于Interval循环内部的代码,它可能需要超过1秒(我testing,并为我的应用程序大约2.5秒)。 我确信doFade函数需要一定的时间才能发生这个问题,但我只是好奇,是否有任何真正的方法可以在1秒内完成所有的事情。

与socket.io配对 – 依靠setInterval或套接字调用?

我正在开发一个游戏,我的后端是用NodeJS编写的,而我使用socket.io来进行实时通信。 我的比赛的特点之一是配对。 基本上,如果有两个以上的玩家在比赛期间,我的应用程序将为他们创build一个游戏室(特殊socket.io室)并开始游戏。 有两种方法可以做到这一点: 在NodeJS上创build一个setInterval。 在间隔中,检查playersInMatchmaking数组。 如果arrays中有两名以上的玩家,则创build游戏室。 只要服务器在线,我就会循环。 每次我接到socket.on("matchmaking start")或socket.on("matchmaking stop")的调用时,不要依赖setInterval,而要检查playersInMatchmaking数组 使用某种方法有什么好处吗? setInterval听起来更容易,因为我可以将匹配algorithm从套接字逻辑中分离出来,然而,由于匹配algorithm会在循环中运行,而不是套接字事件,所以性能会降低。 你怎么看? 你有任何其他的想法会更好吗?