웹 검색 기능에 대한 사용 할 수 있는 이 작품은 많은 가공물과 setTimeout 비동기 I found.
window.setTimeout(function() {
console.log("second");
}, 0);
console.log("first");
출력:
first
second
하지만 이 작동하는 것이 가장 바람직합니다.
'setTimeout (함수 () {.}, 0)' 콜 스택 실행 코드를 수정하여 간단히 대기열은 실행하십시오 일단 현재 완료. 유용하게 사용할 수 있는 몇 가지 수 있습니다.
그래서 그러하너라 it& # 39 의 비동기적입니다 점에서 브레이크를 동시에 실행할 수 없는 it& # 39 의 동기식 흐름이 있지만 정말로 / 별개의 어떨까. 백그라운드 프로세스,) 은 올 경우 투명지에 보라고 웨브워커스. # 39, s 도 사용할 수 있는 방법을 there& iframe 배경 처리.
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
var foo='poo';
setTimeout(function() {
foo='bar'
}, 100);
console.log(foo);
끝 - < 스니핏 >;!
<! - begin 스니핏: js 숨기십시오: 거짓값 콘솔: 진정한 바벨. > 거짓값 -;
/* contrived example alert */
var foo = 'poo';
function setFoo(callback) {
setTimeout(function() {
foo = 'bar';
callback();
}, 100);
};
setFoo(function() {
console.log(foo);
});
끝 - < 스니핏 >;!
시간이 오래 걸리는 경우, 백그라운드에서 작업을 해야 하는 것이 좋습니다. 대부분의 언어에서 이 완료되어도 작업을 실행하여 새로운 스레드할 또는 과정이다. # 39, javascript, 우리는 don& (브라우저) 의 기능을 사용할 수 있지만, 또는 iframe 웨브워커스 스래드입니다 새로 만들 수 없다. 이 코드는 백그라운드에서 실행 이후 스스로 순차인지 셨으며 흐름을 것은 비동기적입니다.
트우드 *: 모든 일이 아니라 모든 비동기적입니다 코드를 코드 및 동시 백그라운드로 비동기적으로 동시에 일어나고 있다.
참조 *: https://stackoverflow.com/questions/11233633/understanding-asynchronous-code-in-laymans-terms
var foo = 'poo';
setTimeout(function() {foo = 'bar'}, 100);
alert(foo);
& # 39 라고 작은 교정을 @tybro0103, s & # 39, & # 39 실행 중에, 경보 (foo) # 39, & # 39 가치를 poo&. 때문에 실행되지 않았습니다 순차적으로 코드를 변경할 수 없습니다. # 39, & # 39 는 bar&. 이를 통해 100 밀리초 비동기적으로 파르타잔 지정받습니다 후에만 해당 기간 경고마다 실행하십시오 실행됨을.
기본적으로 JavaScript 는 비동기 함수 기능을 하는 것이 향후 발생할 때마다 비동기적입니다 대기됨. 그러나 스케쳐내 사용 할 수 있는 js 일시정지할 당신꺼에요 약속 사례 1: 출력입니다 누구없어요 (setTimeout 기다리지 않습니다)
//async
function myFunction() {
let result1='hello'
//promise =new Promise((resolve,reject)=>{
setTimeout(function(){
resolve("done");
result1="done1";
}, 3000);
//});
//result = await promise
alert(result1);
}
myFunction();
https://jsfiddle.net/shashankgpt270/1o79fudt/
async function myFunction() {
let result1='hello'
promise =new Promise((resolve,reject)=>{
setTimeout(function(){
resolve("done");
result1="done1";
}, 3000);
});
result = await promise
alert(result1);
}
myFunction();