Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在node.js中,是否有任何方法可以标识唯一的调用堆栈/滴答间隔?_Javascript_Node.js - Fatal编程技术网

Javascript 在node.js中,是否有任何方法可以标识唯一的调用堆栈/滴答间隔?

Javascript 在node.js中,是否有任何方法可以标识唯一的调用堆栈/滴答间隔?,javascript,node.js,Javascript,Node.js,我想知道是否有任何(性能)方法来识别事件循环中的唯一勾号 我不想做任何事情,比如: 1) 抛出异常、收集调用堆栈、对其进行分析并对其进行哈希,或 2) 子进程任何操作系统或外部进程以收集进程/线程ID以实现唯一性 它应该是一种语言结构。我更喜欢的API是 process.tickId 添加: Handle<Value> tick = process->Get(String::New("tickId")); if (!tick->IsNumber()) { tic

我想知道是否有任何(性能)方法来识别事件循环中的唯一勾号

我不想做任何事情,比如: 1) 抛出异常、收集调用堆栈、对其进行分析并对其进行哈希,或 2) 子进程任何操作系统或外部进程以收集进程/线程ID以实现唯一性

它应该是一种语言结构。我更喜欢的API是

process.tickId
添加:

Handle<Value> tick = process->Get(String::New("tickId"));
if (!tick->IsNumber()) {
    tick = Number::New(0);
}
process->Set(String::New("tickId"), Number::New(tick->NumberValue() + 1));
Handle tick=process->Get(String::New(“tickId”);
如果(!勾选->IsNumber()){
勾号=编号::新(0);
}
进程->设置(String::New(“tickId”)、Number::New(tick->NumberValue()+1));

对于
节点中的
MakeCallback
的每种情况,cc
将提供计数器
tickId
。我对此进行了测试,但不知道它是否会泄漏内存。

调用堆栈和“勾选间隔”之间的关系如何?node.js primitive process.nextTick将添加一个函数,以便在事件循环中的下一个“勾选”处调用。此时,事件循环将启动一个新的调用堆栈。因此,如果在调用堆栈中有两个可能的失败点,它们将共享两件事情:1)调用堆栈的一部分,2)事件循环的唯一迭代(因为JS是单线程的),这将需要我在每个勾号上注册回调,我猜这不是应该做的事情。