如何从异步数据检查多个不等式?

我有一个node.js程序,它每5秒向服务器发送一个POST请求,并获取我想要的数据的值并跟踪它。例如,如果它高于某个数字发送日志消息,并且它的值甚至更高调用另一个函数(最终我想设置5个或更多的阈值)。我的问题是如果我想跟踪多个阈值,我该怎么办?如何从异步数据检查多个不等式?

现在我有它的方式是有setInterval函数每5秒调用我的getValue(限制),其中限制是我想要的限制,如果限制被绕过另一个函数被调用,我不想打电话getValue多次,因为它是多余的。

const request = require('request'); 

function getValue(limit){

var JSONobject = {'ContractCode': contractCode};

request({

url: getUrl,

method: "POST",

json: true,

headers: {

'content-type': 'application/json; charset = UTF-8'

},

body: JSONobject

}, function (error, response, body) {

var obj = JSON.parse(JSON.stringify(response));

if(obj.body.d.LastTradedPrice > limit){

console.log('passed the point : %d', obj.body.d.LastTradedPrice);

}

});

}

谢谢

回答:

我不能确定有关的问题。我可以说你想在某个频率上调用一个函数。从其他服务器收集数据。另一个函数会调用它来获取最新的数据。 对于这种问题,你可以考虑使用rxjs。

这里是简单的rxjs例子。

// Source.js

const Rx = require('rxjs'); 

const dataStream = new Rx.BehaviorSubject();

export.getLatestData =() => {

return dataStream.asObservable();

};

const getData = (cb) => {

setTimeout(() => {

cb(Math.random());

}, Math.random() * 10000)

};

setInterval(() => {

getData((data) => {

dataStream.next(data);

})

});

//这里getLatestData将返回最新值

// Subscriber.js //在某些事件或致电

const src = require('source'); 

route.get('/getData',() => {

src.getLatestData().subscribe((latestData) => {

console.log(`latestData:${latestData}`);

})

});

以上是 如何从异步数据检查多个不等式? 的全部内容, 来源链接: utcz.com/qa/262502.html

回到顶部