동기화 효과를주는 동안 약속이 비동기를 유지하는 방법은 무엇입니까?node.js에서 약속을 사용하면 노드가 동기됩니까?
예 약속이 순차적 코드 실행을 만들 수 있지만 비동기가 제거되지 않습니까?
그러면 node.js의 요점은 무엇입니까?
동기화 효과를주는 동안 약속이 비동기를 유지하는 방법은 무엇입니까?node.js에서 약속을 사용하면 노드가 동기됩니까?
예 약속이 순차적 코드 실행을 만들 수 있지만 비동기가 제거되지 않습니까?
그러면 node.js의 요점은 무엇입니까?
아니요, Node.js 코드가 동기식으로 실행되지 않는다고 약속합니다. 이 표시되는 플로우를 쓸 수 있습니다. 동기식입니다. 이 작업을 수행 할 때
가 :
console.log(1);
setTimeout(() => console.log(2));
console.log(3);
Node.js를 먼저는 1, 로그 다음은 타임 아웃 이후에 발생할 수있는 함수를 등록, sequantially 코드를 실행, 그것은 큰 후 3 로그온 할 때 타이머 발생 - 함수 및 로그를 실행합니다. 2. 스레드가 개입되지 않았습니다.
약속 및 비동기 대기 상태에서 await
을 사용하면 Node.js에 "이 기능을 일시 중지하고 약속을 기다릴 때 계속 진행 중입니다."라고 알리는 경우입니다. pause executing
은 스레드 차단과 같지 않습니다. 운영 체제 수준에서 컨텍스트 전환이 발생하지 않습니다. 단지 기능을 추적하고 약속이 해결되면이를 호출합니다.
노드가 "our code - platform code"사이클로 실행되고 코드가 실행될 때까지 (예 : 대기 상태가 될 때까지) 플랫폼 코드가 실행됩니다 (예 : 타이머 및 I/O 검사). 그 코드는 코드 (예 : 일시 중지 된 비동기 함수)를 다시 호출하여 실행할 수 있습니다.
내가 약속과 비동기를 사용해야하는지 여부를 결정하는 것은 무엇입니까? –
'async/await'은 promises_의 맨 위에 있습니다. async를 사용할 때/이미 당신이 약속을 사용하고 있습니다 : –
고마워요! =} –