process.nextTick에 대한 호출을 처음 어디서 봤는지 기억이 나지 않습니다. 아, 공식 nodejs 프로세스 문서에서 봤어야 했는데. 그 당시에는 이것이 무엇을 위한 것인지 이해하지 못했습니다. 우리는 이미 setTimeout을 가지고 있었는데 이 기능이 왜 필요한 걸까요? 그리고 근본적으로 말하면, 이 기능은 무엇을 합니까? setTimeout과 setTimeout의 차이점은 무엇입니까?
Stackoverflow에 내 문제를 기본적으로 설명하는 매우 좋은 게시물이 있습니다. 여기에 링크를 첨부하고 그 안에 예를 제공합니다.
stackoverflow.com >> Node.js의 process.nextTick 사용 사례?
var MyConstructor = function() { ... process.nextTick(function() { self._continue(); }); }; MyConstructor.prototype.__proto__ = EventEmitter.prototype; MyConstructor.prototype._continue = function() { // without the process.nextTick // these events would be emitted immediately // with no listeners. they would be lost. this.emit('data', 'hello'); this.emit('data', 'world'); this.emit('end'); }; function(req, res, next) { var c = new MyConstructor(...); c.on('data', function(data) { console.log(data); }); c.on('end', next); }
간단히 말하면 비동기 모델로 인해 일부 코드는 필요한 조건이 완료되기 전에 실행될 수 있으므로 전제 조건이 필요한 이러한 코드를 넣습니다. 콜백 함수를 만들고 다음 이벤트 루프의 최상위 수준에 배치합니다. 그러면 이 코드는 즉시 실행되지 않고 다음 이벤트 라운드가 시작될 때까지 기다렸다가 시작된 후에 실행됩니다.
Node.js의 process.nextTick 사용 예와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!