«event-loop» 태그된 질문

17
왜 setTimeout (fn, 0)이 유용한가?
최근 코드가 <select>JavaScript를 통해 동적으로 로드되는 다소 불쾌한 버그가 발생했습니다 . 이 동적으로로드 된 <select>값은 미리 선택된 값입니다. IE6에서, 우리는 이미 선택을 수정하는 코드를 가지고 <option>때때로 때문에, <select>의 selectedIndex값이 선택한와 동기화 될 것 <option>s '를 index아래와 같이 속성 : field.selectedIndex = element.index; 그러나이 코드는 작동하지 않았습니다. 필드가 selectedIndex올바르게 설정 되었지만 …

7
Nodejs 이벤트 루프
nodejs 아키텍처에는 내부적으로 두 개의 이벤트 루프가 있습니까? libev / libuv v8 자바 스크립트 이벤트 루프 I / O 요청에서 노드는 libeio에 대한 요청을 대기열에 넣습니다. 그러면 libev를 사용하여 이벤트를 통해 데이터의 가용성을 알리고 결국 해당 이벤트는 콜백을 사용하여 v8 이벤트 루프에 의해 처리됩니까? 기본적으로 libev와 libeio는 nodejs 아키텍처에 어떻게 …

3
이벤트 루프 컨텍스트 내에서 마이크로 태스크와 매크로 태스크의 차이점
방금 Promises / A + 사양을 읽었으며 마이크로 태스크 및 매크로 태스크라는 용어를 발견했습니다. http://promisesaplus.com/#notes 이전에이 용어에 대해 들어 본 적이 없으며 이제 차이점이 무엇인지 궁금합니다. 나는 이미 웹에서 일부 정보를 찾으려고 노력했지만, 내가 찾은 것은 w3.org Archives (이 차이점을 설명하지는 않음) 의이 게시물입니다 .http : //lists.w3.org/Archives /Public/public-nextweb/2013Jul/0018.html 또한 "macrotask"라는 …

3
이벤트 루프 이해
나는 그것에 대해 생각하고 있으며 이것이 내가 생각해 낸 것입니다. 아래 코드를 보자 : console.clear(); console.log("a"); setTimeout(function(){console.log("b");},1000); console.log("c"); setTimeout(function(){console.log("d");},0); 요청이 들어오고 JS 엔진이 위의 코드를 단계별로 실행하기 시작합니다. 처음 두 통화는 동기화 통화입니다. 그러나 setTimeout메소드에 관해서 는 비동기 실행이됩니다. 그러나 JS 즉시에서 반환하고 호출되는, 실행을 계속 Non-Blocking하거나 Async. 그리고 다른 …

3
Node.js 이벤트 루프 틱이란 정확히 무엇입니까?
저는 Node.js 아키텍처의 내부에 대해 더 많이 알고 있으며, "이벤트 루프의 다음 틱"또는 함수 nextTick () 에서와 같이 많이 나오는 용어는 "틱" 입니다. 내가 보지 못한 것은 정확히 "틱"이 무엇인지에 대한 확실한 정의입니다. 다양한 기사 ( 예 :이 기사)를 기반으로 한 개념을 머릿속에 모을 수 있었지만 그게 얼마나 정확한지 잘 …

5
+ =를 가진 비동기 함수
let x = 0; async function test() { x += await 5; console.log('x :', x); } test(); x += 1; console.log('x :', x); 코드 스 니펫 실행결과 숨기기스 니펫 확장 x기록 된 값 은 1및 5입니다. 내 질문은 : 왜 x 5두 번째 로그 의 값 입니까? 이 경우 test후에 …

2
브라우저가 기본 약속을 지원하지 않는 경우 마이크로 태스킹을 대기하는 방법은 무엇입니까?
즉각적인 콜백 타이밍에 의존하지 않는 코드를 작성하는 것이 좋습니다 (마이크로 태스크와 매크로 태스크와 같은). setTimeout매크로 작업을 대기열에 넣습니다.이 작업은 최소한 모든 마이크로 태스크 (및 생성 된 마이크로 태스크)가 완료 될 때까지 대기합니다. 예를 들면 다음과 같습니다. console.log('Macrotask queued'); setTimeout(function() { console.log('Macrotask running'); }); Promise.resolve() .then(function() { console.log('Microtask running'); }); console.log('Microtask …

1
1k HTTP 요청의 병렬 트리거가 중단됩니다
문제는 1k-2k 나가는 HTTP 요청을 트리거 할 때 실제로 어떻게됩니까? 500 개의 연결로 모든 연결을 쉽게 해결할 수 있지만 연결을 열어두고 노드 앱이 멈 추면 문제가 발생하는 것으로 보입니다. 로컬 서버 + 예제 Google 및 기타 모의 서버로 테스트했습니다. 그래서 몇 가지 다른 서버 끝점으로 이유를 얻었습니다 .ECONNRESET을 읽으십시오.이 서버는 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.