関数は、現在のダニ(関数が宣言されたダニ)、または次のダニに呼び出されたかどうかを知るのいくつかのきちんとした方法があるかどうか、私は疑問に思って(またはいくつか例えばNode.jsのイベントループのJavaScript/Node.jsのイベントループダニIDS
の未来チック):
function foo(cb){
// we can fire callback synchronously
cb();
// or we can fire callback asynchronously
process.nextTick(cb);
}
はそうのようなFOOを呼び出すと言う:
function outer(){
const currentTickId = process.currentTickId;
function bar(){ //bar gets created everytime outer is called..
if(process.currentTickId === currentTickId){
//do something
}
else{
// do something else
}
}
foo(bar); //foo is always called in the same tick that bar was declared, but bar might not be called until the next tick
}
ほとんどのアプリケーションはこのような何かを必要としませんが、I李を書いている可能であれば、この機能を持たせると便利です! process.currentTickId
は、この例ですでにprocess.nextTick
を発見したように見えます
私はそれが「可能」だと思う:
あなたの質問のコードが必要示しとして「
process.currentTickId
」を達成するためにリグアップシステムにこれを使用することができます/ package/tick-id –通常、常にコールバックを非同期的に起動するのがベストプラクティスですが、これは単なる実例です。 –