本文小編為大家詳細(xì)介紹“JavaScript異步操作同步執(zhí)行的方法”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“JavaScript異步操作同步執(zhí)行的方法”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
創(chuàng)新互聯(lián)專注于五家渠企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計,成都做商城網(wǎng)站。五家渠網(wǎng)站建設(shè)公司,為五家渠等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
下面我們看一個最簡單的例子, 我的需求是要在fn1函數(shù)外面打印msg
function fn1() {
setTimeout(function () {
msg = '你等我一下我 3s';
}, 3000);
}
fn1();
那么怎么樣才能在fn函數(shù)中獲取到msg呢
通過回調(diào)函數(shù)
function fn1(callBack) {
setTimeout(function () {
msg = '你等我一下我 3s';
callBack(msg);//回調(diào)
}, 3000);
}
fn1(function (c) {
alert(c)
})
es6
fn1(c => {
alert(c)
})
promise 將異步請求改成promise 通過.then()的方式 進(jìn)行調(diào)用
function fn1() {
return new Promise((resolve, reject) => {
setTimeout(() => {
msg = '你等我一下我 3s';
resolve(msg)
}, 3000);
})
}
//通過.then()的方式 進(jìn)行調(diào)用
fn1().then(res => {
alert(res)
})
通過await 和async來處理
function fn1() {
return new Promise((resolve, reject) => {
setTimeout(() => {
msg = '你等我一下我 3s';
resolve(msg)
}, 3000);
})
}
async function passpro() {
let res = await fn1();
alert(res)
}
passpro();
async函數(shù)返回的是一個Promise對象
如果一個函數(shù)加了async關(guān)鍵詞,這個函數(shù)又有返回值,
在調(diào)用這個函數(shù)時,如果函數(shù)執(zhí)行成功,
內(nèi)部會調(diào)用Promise.solve()方法返回一個Promise對象.
如果函數(shù)執(zhí)行出現(xiàn)異常,
就會調(diào)用Promise.reject()方法返回一個promise 對象
讀到這里,這篇“JavaScript異步操作同步執(zhí)行的方法”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞標(biāo)題:JavaScript異步操作同步執(zhí)行的方法
瀏覽路徑:http://chinadenli.net/article46/jiijhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、小程序開發(fā)、服務(wù)器托管、網(wǎng)站營銷、關(guān)鍵詞優(yōu)化、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)