国产精品久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ù)支持:微軟等
    国产97免费视频| 黄色三级视频在线观看| 久久久久麻豆v国产| 麻豆国产精品一区| 精品国产免费一区二区三区四区| 亚洲精品综合在线| 中文一区在线播放| 国产日韩欧美精品在线| 国产日韩欧美精品在线| 中文文精品字幕一区二区| 国产亚洲欧美一区在线观看| 久久综合精品国产一区二区三区| 97久久精品人人澡人人爽| 国产亚洲欧美激情| 亚洲视频综合在线| 狠狠干狠狠久久| 欧美午夜精品电影| 国产激情一区二区三区| 精品在线免费视频| 成人av电影在线播放| 888久久久| 欧美日本不卡高清| 亚洲精品一区国产| 成人av激情人伦小说| 日本一道高清一区二区三区| 欧美精品乱码| 狠狠综合久久| 日韩在线精品强乱中文字幕| 成人免费在线电影网| 精品国产一区二区三区| 精品av久久久久电影| 免费人成黄页网站在线一区二区| 欧美三级伦理在线| 亚洲电影在线一区二区三区| 美女久久一区| 成人黄色在线播放| 欧美精品日韩综合在线| 精品视频全国免费看| 国产精品日日摸夜夜摸av| 日本免费新一区视频| 高清日韩电视剧大全免费| 国产亚洲成aⅴ人片在线观看 | 99成人国产精品视频| 天天舔天天干| 亚洲精品自拍区在线观看| 国内国产区免费视频| 人善交video高清| 国产日韩欧美精品一区二区三区 | 日韩精品一区二区三区中文字幕 | 日本人妖一区二区| 91麻豆免费视频| 姬川优奈aav一区二区| 亚洲黄色片网站| 国内精品久久久| 在线成人激情视频| 性欧美长视频免费观看不卡 | 久久久亚洲网站| 亚洲伊人第一页| 免费看欧美黑人毛片| 日本三级日本三级日本三级极| 久久久久久久久久久久久久免费看 | 黄页网站在线播放| 91在线中字| 成人另类视频| 国产精品毛片在线| 欧美午夜影院| 国产99一区视频免费| 欧美视频在线免费| 一本久道中文字幕精品亚洲嫩| 亚洲人妖av一区二区| 精品少妇一区二区三区| 日韩一区二区三区在线观看| 51精品秘密在线观看| 在线欧美小视频| 国产小视频91| 亚洲字幕在线观看| 国产精品少妇在线视频| 欧美国产亚洲一区| 亚洲国产av一区| 精品人妻无码一区二区三区蜜桃一 | 一日本道久久久精品国产| 香蕉网站在线| 一区二区三区视频国产日韩 | 日本一本在线视频| 国语对白永久免费| 蜜桃福利入口| 韩国av电影免费观看| 色呦呦在线免费观看| 国产黄大片在线观看| 欧美男男激情videos| 精品一区二区三| 99久久免费精品| 精品国产一区二区亚洲人成毛片| 国产精品成久久久久三级| 亚洲www在线| 国产综合免费视频| 欧美日韩一区二区三区69堂| 成人av在线影院| 综合久久久久久久| 中文字幕在线不卡视频| 日韩av在线资源| 精品国产乱码久久久久| 日本久久久久久久久久| www.国产精品视频| 在线观看的av网站| 欧美18免费视频| 久久久激情视频| 色av吧综合网| wwwjizzjizzcom| 国产亚洲精品久久久久久无几年桃| 2022国产麻豆剧果冻传媒剧情| 永久免费毛片在线播放| 美女视频一区免费观看| 欧美日韩在线直播| 亚洲999一在线观看www| 免费观看污网站| 中文字幕av免费| eeuss影影院www在线播放| 中文在线www| 国产ktv在线视频| 亚洲一区成人| 欧美高清性hdvideosex| 高清视频一区| 国产乱子夫妻xx黑人xyx真爽| 国产 日韩 欧美 成人| 蜜桃特黄a∨片免费观看| 久久久久毛片免费观看| 久久亚洲二区三区| 欧美精品做受xxx性少妇| 亚洲精品中文字幕无码蜜桃| 亚洲在线视频播放| 成人免费在线视频网| 成人免费网站www网站高清| 久久影院资源站| 欧美激情一区二区三区在线| 美女av一区二区| 中文字幕在线导航| 精品少妇久久久| av在线天天| 成人黄色图片网站| 成人av免费网站| 九九热精品视频在线播放| 欧美一区二区三区在线播放| 99视频在线视频| xxxx国产精品| av蜜臀在线| 亚洲久久久久| 欧美在线不卡一区| 欧美另类视频在线| 蜜臀aⅴ国产精品久久久国产老师 性活交片大全免费看 | 四色永久网址| 欧美岛国激情| 欧美日韩www| 9色视频在线观看| 国产夫绿帽单男3p精品视频| 午夜影视一区二区三区| 久久久不卡影院| 91久久中文字幕| 一级在线免费视频| 亚洲成人在线电影| 伊人75在线| 日韩午夜黄色| 日韩国产精品一区| 97公开免费视频| 欧美黑人疯狂性受xxxxx喷水| 黄色一级片在线观看| 色婷婷亚洲mv天堂mv在影片| 精品视频一区三区九区| 免费cad大片在线观看| 精品亚洲乱码一区二区| 色老板在线观看| 新67194成人永久网站| 中文字幕久精品免费视频| 日本一区精品| 中文字幕 亚洲视频| 不卡福利视频| 亚洲卡通欧美制服中文| 日韩成人激情| 亚洲电影在线看| www.成人av| 久久久久久久穴| 插菊花综合1| 国产精品一国产精品k频道56| xxxxx成人.com| 婷婷成人激情| 精品樱空桃一区二区三区| 国产精品电影观看| 久久精品欧美日韩| 欧美最新另类人妖| 丝袜诱惑一区二区| 精品久久久久久久大神国产| 福利片在线看| 在线观看精品一区| 亚洲第一偷拍| 国偷自产av一区二区三区| 黄色网址免费在线观看| 午夜精品久久久久久久99老熟妇| 中文字幕在线中文字幕日亚韩一区 | 久久久久久久久久久久久久久久久久| 男捅女免费视频|