国产精品久av福利在线观看_亚洲一区国产精品_亚洲黄色一区二区三区_欧美成人xxxx_国产精品www_xxxxx欧美_国产精品久久婷婷六月丁香_国产特级毛片

錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù),錦州廣廈維修電腦,公司IT外包服務(wù)
topFlag1 設(shè)為首頁(yè)
topFlag3 收藏本站
 
maojin003 首 頁(yè) 公司介紹 服務(wù)項(xiàng)目 服務(wù)報(bào)價(jià) 維修流程 IT外包服務(wù) 服務(wù)器維護(hù) 技術(shù)文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠(chéng)服務(wù)技術(shù)文章
利用Promise自定義一個(gè)GET請(qǐng)求的函數(shù)示例代碼

作者: 佚名  日期:2024-01-07 10:19:58   來(lái)源: 本站整理

 在最前面

近期 review 自己以前的代碼的時(shí)候,看到 promise 的使用方法,用的比較模糊。含義不清,用法凌亂,這里重新溫習(xí)一下基礎(chǔ)知識(shí)。

前言

JavaScript 是單線程工作,但是瀏覽器是多線程的。為了更好的完成我們程序的任務(wù)。Promise 異步的操作就由此誕生了。

一個(gè) Promise 就是一個(gè)代表了異步操作最終完成或者失敗的結(jié)果對(duì)象。

怎么使用?

語(yǔ)法

基本

new
		Promise( function(resolve, reject) {...} /* executor */ );

Promise 構(gòu)造函數(shù)包含一個(gè)參數(shù)和一個(gè)帶有 resolve(解析)和 reject(拒絕)兩個(gè)參數(shù)的回調(diào)。 在回調(diào)中執(zhí)行一些操作(例如異步),如果一切都正常,則調(diào)用 resolve,否則調(diào)用 reject。

then 的使用

promise.then(function(result) {
 console.log(result); // "Stuff worked!"
}, function(err) {
 console.log(err); // Error:"It broke"
});

then() 包含兩個(gè)參數(shù):一個(gè)用于成功情形的回調(diào)和一個(gè)用于失敗情形的回調(diào)。 這兩個(gè)皆可選,因此您可以只添加一個(gè)用于成功情形或失敗情形的回調(diào)。

主要的 promise 的三個(gè)方法

Promise.all

        - 這個(gè)方法返回一個(gè)新的promise對(duì)象,該promise對(duì)象在iterable參數(shù)對(duì)象里所有的promise對(duì)象都成功的時(shí)候才會(huì)觸發(fā)成功,一旦有任何一個(gè)iterable里面的promise對(duì)象失敗則立即觸發(fā)該promise對(duì)象的失敗。這個(gè)新的promise對(duì)象在觸發(fā)成功狀態(tài)以后,會(huì)把一個(gè)包含iterable里所有promise返回值的數(shù)組作為成功回調(diào)的返回值,順序跟iterable的順序保持一致;如果這個(gè)新的promise對(duì)象觸發(fā)了失敗狀態(tài),它會(huì)把iterable里第一個(gè)觸發(fā)失敗的promise對(duì)象的錯(cuò)誤信息作為它的失敗錯(cuò)誤信息。Promise.all方法常被用于處理多個(gè)promise對(duì)象的狀態(tài)集合。 

Promise.reject

        - 返回一個(gè)狀態(tài)為失敗的Promise對(duì)象,并將給定的失敗信息傳遞給對(duì)應(yīng)的處理方法。 

        return Promise.reject(error);

Promise.resolve

        - 返回一個(gè)狀態(tài)由給定value決定的Promise對(duì)象。如果該值是thenable(即,帶有then方法的對(duì)象),返回的Promise對(duì)象的最終狀態(tài)由then方法執(zhí)行決定;否則的話(該value為空,基本類型或者不帶then方法的對(duì)象),返回的Promise對(duì)象狀態(tài)為fulfilled,并且將該value傳遞給對(duì)應(yīng)的then方法。通常而言,如果你不知道一個(gè)值是否是Promise對(duì)象,使用Promise.resolve(value) 來(lái)返回一個(gè)Promise對(duì)象,這樣就能將該value以Promise對(duì)象形式使用。   

怎么創(chuàng)建一個(gè) Promise

Promise 對(duì)象是由關(guān)鍵字 new 及其構(gòu)造函數(shù)來(lái)創(chuàng)建的。

const myFirstPromise = new
		Promise((resolve, reject) => {
 // ?做一些異步操作,最終會(huì)調(diào)用下面兩者之一:
 //
 // resolve(someValue); // fulfilled
 // ?或
 // reject("failure reason"); // rejected
});

想讓某個(gè)函數(shù)擁有 Promise 功能?讓他放回一個(gè) Promise 對(duì)象就可以了:

function
			myAsyncFunction(url) {
 return
		new
		Promise((resolve, reject) => {
 const xhr = new XMLHttpRequest();
 xhr.open("GET", url);
 xhr.onload = () => resolve(xhr.responseText);
 xhr.onerror = () => reject(xhr.statusText);
 xhr.send();
 });
};

Demo: 1 -- 創(chuàng)建一個(gè) GET 請(qǐng)求的簡(jiǎn)單函數(shù)

function
			get(url) {
 // 返回一個(gè) promise 對(duì)象.
 return
		new
		Promise(function(resolve, reject) {
 // 創(chuàng)建一個(gè) XML 對(duì)象
 var req = new XMLHttpRequest();
 req.open('GET', url);

 req.onload = function() {
  
  if (req.status == 200) {
  // 請(qǐng)求 200的時(shí)候處理 response 
  resolve(req.response);
  }
  else {
  // 處理請(qǐng)求錯(cuò)誤信息
  reject(Error(req.statusText));
  }
 };

 // 處理網(wǎng)絡(luò)錯(cuò)誤信息
 req.onerror = function() {
  reject(Error("Network Error"));
 };

 // 發(fā)送請(qǐng)求
 req.send();
 });
}

現(xiàn)在我們來(lái)使用吧

get('story.json').then(function(response) {
 console.log("Success!", response);
}, function(error) {
 console.error("Failed!", error);
})

Demo: 2 -- 創(chuàng)建一個(gè)圖片上傳的 Promise 函數(shù)

function
			imgLoad(url) {
 //創(chuàng)建一個(gè)圖片上傳的 Promise() constructor;
 return
		new
		Promise(function(resolve, reject) {
  
  var request = new XMLHttpRequest();
  request.open('GET', url);
  request.responseType = 'blob';
  
  request.onload = function() {
  if (request.status === 200) {
  
   resolve(request.response);
  } else {
  
   reject(Error('Image didn\'t load successfully; error code:' + request.statusText));
  }
  };
  request.onerror = function() {
  
   reject(Error('There was a network error.'));
  };
  
  request.send();
 });
 }

 // 掛載到 body 上面去
 var body = document.querySelector('body');
 var myImage = new Image();
 
 // 使用
 imgLoad('myLittleVader.jpg').then(function(response) {
 
 //第一步 處理 resolve() method.
 var imageURL = window.URL.createObjectURL(response);
 myImage.src = imageURL;
 body.appendChild(myImage);
 
 }, function(Error) {
 
 // 處理錯(cuò)誤
 console.log(Error);
 });


熱門文章
  • js逆向·找到登錄時(shí)目標(biāo)網(wǎng)站的加密...
  • 個(gè)人總結(jié) – JS逆向解析[通俗易懂]...
  • 利用Promise自定義一個(gè)GET請(qǐng)求的函...
  • 電腦黑屏按ctrl+alt+delete沒反應(yīng)怎...
  • 開機(jī)電腦沒反應(yīng)只有鼠標(biāo)能動(dòng)的解決...
  • 停車后發(fā)動(dòng)機(jī)艙異響是什么原因,解...
  • Win11右鍵怎么恢復(fù)原來(lái)的模樣?圖文...
  • 多線程同步的4種機(jī)制
  • 解決 Windows 10/11 已開始通過(guò)彈窗...
  • win10默認(rèn)應(yīng)用里沒有谷歌瀏覽器,默...
  • 如何關(guān)閉谷歌默認(rèn)瀏覽器檢查提示?關(guān)...
  • 打印機(jī)如何設(shè)置連續(xù)掃描
  • 錦州廣廈電腦上門維修

    報(bào)修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號(hào):遼ICP備2023002984號(hào)-1
    上門服務(wù)區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務(wù): 修電腦,電腦修理,電腦維護(hù),上門維修電腦,黑屏藍(lán)屏死機(jī)故障排除,無(wú)線上網(wǎng)設(shè)置,IT服務(wù)外包,局域網(wǎng)組建,ADSL共享上網(wǎng),路由器設(shè)置,數(shù)據(jù)恢復(fù),密碼破解,光盤刻錄制作等服務(wù)

    技術(shù)支持:微軟等
    岛国av一区二区| 天天爽天天狠久久久| porn亚洲| 日韩欧美在线视频| 中文字幕男人天堂| 成人免费福利片| 麻豆tv在线播放| www.成人影院| 不卡伊人av在线播放| 黄网视频午夜青春| 亚洲成人av电影在线| 免费看污片网站| 香蕉视频成人在线观看| 9l视频白拍9色9l视频| julia中文字幕久久亚洲蜜臀| 欧美激情一区二区三区成人| 欧洲综合视频| 成人毛片视频网站| 国产精品免费观看视频| jizz欧美大全| 在线播放 亚洲| 久久99精品国产麻豆婷婷| 一本一本久久a久久| 日本一区二区动态图| a片在线免费观看| 9191成人精品久久| 五月天婷亚洲天综合网鲁鲁鲁| 天干天干啦夜天干天2019| 制服丝袜激情欧洲亚洲| 在线免费观看亚洲视频| 国产在线成人| 8x8x华人在线| 天天免费亚洲黑人免费| 成人免费网视频| 欧美精品观看| 精品爆乳一区二区三区无码av| 青青草国产成人99久久| 国产影视一区二区| 亚洲精品国产福利| 国产精品极品国产中出| va婷婷在线免费观看| 麻豆视频成人| 自拍av一区二区三区| 深夜成人福利| 999在线免费视频| 成人福利视频在线| 美女被男人操网站| 影音先锋欧美精品| 菠萝蜜视频国产在线播放| 国产一线二线三线在线观看| 99国产精品久久久| 国产白丝一区二区三区| 国内久久婷婷综合| 久久精品视频国产| 亚洲视频在线观看三级| 欧美自拍第一页| 日韩中文av在线| 成人自拍在线| 精品无码人妻一区| 亚洲成人精品影院| 日本亚洲欧美| 黄色av网址在线观看| 久久伊人精品视频| 久久99蜜桃精品| 污视频免费在线观看| 中文字幕+乱码+中文乱码91| 日日狠狠久久偷偷四色综合免费 | 亚洲成人综合视频| 粉嫩欧美一区二区三区| 999久久欧美人妻一区二区| 久久久一区二区三区| 日韩欧美国产另类| 色吊一区二区三区| 成视频年人免费看黄网站| 国产97在线|亚洲| 色老太综合网| 女人扒开双腿让男人捅| 日韩精品资源二区在线| 成人精品一区二区三区电影| 免费成人黄色大片| 欧美日韩精品一区二区三区四区| 3d玉蒲团在线观看| 青青草成人av| 久久久久九九九| 欧美一区二区三区免费观看视频 | 久久精品系列| 亚洲天堂777| 国产主播欧美精品| 久久久www免费人成精品| 国产精品久久久久久久龚玥菲 | 中文字幕精品在线观看| 亚洲免费av片| 日韩亚洲国产免费| 激情高潮到大叫狂喷水| 欧美精品www在线观看| 欧美一区网站| 91国内精品视频| 成人黄色网免费| 91丨porny丨最新| 欧美aa在线观看| 深田咏美中文字幕| 26uuu另类亚洲欧美日本一| 99精品在线观看| 好吊日视频在线观看| 最新天堂网www| 日本三级视频在线| 人妻体内射精一区二区三区| 日韩免费在线看| 欧美日韩欧美一区二区| 欧美在线高清| 黄无遮挡免费网站| 日韩精品视频久久| 欧美一区二区日韩| 国产精品流白浆在线观看| 囯产精品久久久久久| 亚洲乱码国产乱码精品天美传媒| 精品av在线播放| 欧美精品系列| 日韩精品视频无播放器在线看| 精品一区二区三区无码视频| 91一区二区三区在线观看| 91涩漫在线观看| 久久国产精品1区2区3区网页| 日韩成人免费在线观看| 国产精品视频福利| 国产一区二区三区日韩| 免费在线观看av| 伊人成人在线观看| 亚洲18在线看污www麻豆| 欧美在线你懂的| 欧美激情喷水| 久久国产情侣| 一级黄色片网站| xx欧美撒尿嘘撒尿xx| 日本道在线视频| 欧美日韩午夜爽爽| 视频一区在线免费观看| 99久热re在线精品996热视频| 欧美精品18videosex性欧美| 精品久久一区二区| 丝袜亚洲另类欧美综合| 桃花岛成人影院| 国产精品人人| 37p粉嫩大胆色噜噜噜| 日韩欧美亚洲日产国| 亚洲片在线资源| 亚洲午夜精品在线| 欧美国产亚洲另类动漫| 在线观看欧美理论a影院| 无码国产精品一区二区免费16| 免费看又黄又无码的网站| www.亚洲一区| 中文字幕欧美一| 国产麻豆精品久久| 色播在线观看| 亚洲午夜网未来影院| 欧美日韩精品在线观看视频| www.超碰com| 欧美大尺度激情区在线播放| 激情成人中文字幕| 欧美老熟妇乱大交xxxxx| 国产精品激情自拍| 国产亚洲精品高潮| 欧美午夜影院在线视频| 国产精品一区二区久久精品爱涩 | 亚洲影视第一页| 魔女鞋交玉足榨精调教| 日韩精品综合在线| 99r国产精品视频| 亚洲国产精品自拍| 丝瓜av网站精品一区二区| 欧美大片免费高清观看| 久久男人天堂| av电影在线播放高清免费观看| 午夜精品久久久久久久99| 天堂在线一区二区三区| 亚洲高清资源综合久久精品| 亚洲一区二区三区视频| 欧美精品电影免费在线观看| 亚洲日本在线天堂| 性色一区二区三区| 一区二区三区四区精品视频| 欧美日韩在线观看首页| 黄色在线看片| 中文字幕在线三区| 精品99re| 小处雏高清一区二区三区| 国产**成人网毛片九色| 中文字幕欧美一区| 欧美一区二区三区公司| 在线看欧美日韩| 国产欧美精品一区二区三区-老狼| 亚洲人在线观看| 日韩欧美亚洲范冰冰与中字| 性做久久久久久久免费看| 久久久精品日韩| 国产精品久久国产愉拍| 亚洲福利精品| 国产精品久久久久无码av| 婷婷久久一区|