function loadScript(src, callback) {
let script = document.createElement('script');
script.src = src;
script.onload = () => callback(script);
document.head.append(script);
}
loadScript(
'./script/app.js',
app => {
loadScript(
'./script/app2.js',
app2 => {
loadScript(
'./script/app3.js',
app3 => {
// some action...
}
)
}
)
}
)
제가 알고있는 비동기는 요쳥과 결과가 동시에 일어나지 않는 것으로 알고있는데
위코드는 코드내용을 순차적으로 실행시킨것과 마찬가지이니
asynchronous라보기엔 어렵지 않나요?
들여쓰기 극혐
제가 본 코드들이 다 저렇게 작성되어있어서...
각 로드스크립트 아래에 대충 아무 코드나 쓰면 로드스크립트가 끝나는 걸 기다리지 않고 그 코드가 실행됨. 그래서 비동기라는 거임.
아 비동기 동기를 그렇게 보는거였군요..
콜백이 비동기가 아니라 비동기 처리를 콜백으로 하는거야
자스는 논블락킹언어라 기다리지않고 실행됨 그걸 막아주는게 비동기 처리 콜백이나 promise임 내부동작 알면 이해될거임