$.getJSON 回調中賦值 `movie = data.movie`,隨後同步代碼讀取 `movie` 為 `undefined`;`alert(movie)` 後卻有值。
**異步非阻塞**:`$.getJSON` 發起請求後立即返回,主線程繼續執行 `mappic(); tb_yx(movie);`,此時回調**尚未執行**,`movie` 仍為初始 `undefined`。`alert` 阻塞主線程,給了事件循環處理微任務/宏任務的時間,回調執行完成,`movie` 被賦值。
$.getJSON(url, function(data) {
movie = data.movie;
mappic();
tb_yx(movie); // 這裡 movie 已有值
});
// 或用 Promise
$.getJSON(url).then(data => {
movie = data.movie;
return mappic(); // 如果返回 Promise
}).then(() => tb_yx(movie));