真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

寫給小白看的JavaScript異步-創(chuàng)新互聯(lián)

某天突然寫了個方法要從后臺調(diào)用數(shù)據(jù),顯示在前臺頁面,但是輸出結(jié)果總是空undefined,得不到數(shù)據(jù)。多方找資料才發(fā)現(xiàn),原來是入了JS異步的“坑”。

創(chuàng)新互聯(lián)是一家專業(yè)提供甘谷企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站設(shè)計、HTML5建站、小程序制作等業(yè)務(wù)。10年已為甘谷眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。

我們常常聽到單線程、多線程、同步、異步這些概念,那么這些東西到底是什么呢?
那么我們先從上面那幾個概念說起

單線程、多線程、同步、異步基本理解

每個正在運行的程序(即進(jìn)程)至少有一個線程,被稱為主線程。主線程在啟動程序時被創(chuàng)建,用于執(zhí)行main函數(shù)。

1.單線程就是只有一個主線的線程,代碼從上往下順序運行,主線程負(fù)責(zé)執(zhí)行程序的所有代碼(UI展現(xiàn)以及刷新,網(wǎng)絡(luò)請求,本地存儲等等)【一個線程要做所有的事情,想想都有點累呢】

2.多線程顧名思義,就是有多個線程的程序,可以由用戶自主創(chuàng)建。用戶自主創(chuàng)建的若干進(jìn)程相對于主線程而言就是子線程。子線程和主線程都是獨立的運行單元,各自的執(zhí)行互不影響,因此能夠并發(fā)執(zhí)行。

光聽這些干巴巴的理論是不是覺得有點暈? 巧了,我乍一看的時候也暈。

在找資料的過程中,我發(fā)現(xiàn)了別人的這么一個形象的比喻。

打個比方,單線程就是你去廚房又燒飯又燒菜,一個人來回跑;多線程就是兩個人,一個單做飯,一個單做菜。

這么說,應(yīng)該更好理解了吧?

而什么又是同步和異步呢?

我們用一個簡單的生活例子來說明。

你打電話訂酒店,問工作人員有沒有房間,這時候,工作人員需要查找有沒有房間才能回答你。

同步就是不掛電話一直等,直到工作人員告訴你有沒有房間。
異步就是掛斷電話,你去做別的事情,比如吃飯喝水,工作人員查到了信息再打電話告訴你。

那么我們的主題來了

JS的異步操作是怎樣的呢?

JS的執(zhí)行環(huán)境是單線程的,也就是說,程序順序執(zhí)行下來,一次只能執(zhí)行一個任務(wù),程序想要往下運行,就必須等待當(dāng)前的任務(wù)執(zhí)行完畢,不管當(dāng)前的任務(wù)要執(zhí)行多久(要是后面的程序急著跑出來可真的是等的很難受呢)。

為了解決后面程序等的難受的這個阻塞問題。JavaScript有一種異步處理模式,其實就是延時處理。

我們再來拋出例子來說明。

var getUserInfo = function () {
      $.getJSON("http://www.easy-mock.com/mock/5a09868228b23066479b8379/ajaxData/getUserInfo", function () {
        return data;
      });
    }
    var data = getUserInfo();
    renderUserInfo(data)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


文章標(biāo)題:寫給小白看的JavaScript異步-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://weahome.cn/article/cceici.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部