成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

promise

shiweifu / 737人閱讀

摘要:什么是異步編程的一種方案,是一個容器保存著未來將可能發(fā)生的事情實例對象的特點中的狀態(tài)只有異步操作結果才能改變中有個狀態(tài)狀態(tài)的改變或者狀態(tài)一旦改變,就不會再變一秒鐘以后會輸出值得注意的是新建的過程中構造函數(shù)會被立即執(zhí)行使用實現(xiàn)請求

什么是Promise

異步編程的一種方案, 是一個容器保存著未來將可能發(fā)生的事情

promise實例對象的特點

1、promise中的狀態(tài)只有異步操作結果才能改變
promise中有3個狀態(tài) 1、pending 2、resolve 3、rejected
狀態(tài)的改變 1->2 或者1->3
2、狀態(tài)一旦改變,就不會再變

function  testPromise(ms) {
         return new Promise(function (resolve,reject) {
             setTimeout(resolve,ms,"done")
         })
     }
     testPromise(1000).then(function (value) {
         console.log(value)
     })

一秒鐘以后會輸出done 值得注意的是新建promise的過程中 構造函數(shù)會被立即執(zhí)行
使用promise實現(xiàn)ajax請求

  var getJSON=function (url) {
         return promise=new Promise(function (resolve,reject) {
             var xhr=new XMLHttpRequest();
             xhr.open("GET",url);
             xhr.responseType="json";
             xhr.setRequestHeader("Accept","application/json")
             xhr.onreadystatechange=handler;
             function handler() {
                 if(this.readyState!=4){
                     return ;
                 }else{
                     if(this.status==200){
                         resolve(this.response);
                     }else{
                         reject(this.status);
                     }
                 }
             }
             xhr.send();
         })
     }
     getJSON("a.json").then(function (res) {
         console.log(res)
     }).then(function (msg) {
         console.log(msg)
     })

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/85211.html

相關文章

  • Promise的幾個擴展API總結

    摘要:的幾個擴展總結描述和相反,當所有的被拒絕之后,方法執(zhí)行完成的決議,如果存在一個執(zhí)行完成的決議,方法則執(zhí)行拒絕里邊的所有實例反過來就好了執(zhí)行到此執(zhí)行到此描述忽略被拒絕的,只需要有一個完成的,方法就執(zhí)行完成操作,如果全部的都被拒絕,方法執(zhí)行拒絕 Promise的幾個擴展API總結 1. Promise.none 描述: 和 Promise.all 相反,當所有的promise被拒絕之后,n...

    李義 評論0 收藏0
  • Promise 中的三兄弟 .all(), .race(), .allSettled()

    摘要:對于的來說基元函數(shù)包括組合函數(shù)的類型簽名返回情況完成如果傳入的可迭代對象為空,會同步地返回一個已完成狀態(tài)的。相反,如果是在指定的時間之后完成,剛返回結果就是一個拒絕狀態(tài)的從而觸發(fā)方法指定的回調(diào)函數(shù)。在行中,對每個小任務得到的結果進行匯總。 為了保證的可讀性,本文采用意譯而非直譯。 想閱讀更多優(yōu)質(zhì)文章請猛戳GitHub博客,一年百來篇優(yōu)質(zhì)文章等著你! 從ES6 開始,我們大都使用的是 P...

    vspiders 評論0 收藏0
  • 異步發(fā)展流程 —— 手寫一個符合 Promise/A+ 規(guī)范的 Promise

    摘要:構造函數(shù)的實現(xiàn)我們在使用的時候其實是使用關鍵字創(chuàng)建了一個的實例,其實是一個類,即構造函數(shù),下面來實現(xiàn)構造函數(shù)。 showImg(https://segmentfault.com/img/remote/1460000018998456); 閱讀原文 概述 Promise 是 js 異步編程的一種解決方案,避免了 回調(diào)地獄 給編程帶來的麻煩,在 ES6 中成為了標準,這篇文章重點不是敘...

    UnixAgain 評論0 收藏0
  • 實現(xiàn)Promise

    摘要:使用是極好的,它是如此有用以至于我覺得應該好好研究一下,甚至是實現(xiàn)一個簡易的版本。構造函數(shù)檢查參數(shù)例如是不是函數(shù)啊初始化,創(chuàng)建對象執(zhí)行因此構造函數(shù)里面?zhèn)魅氲氖橇⒓幢粓?zhí)行的。 使用Promise是極好的,它是如此有用以至于我覺得應該好好研究一下Promise,甚至是實現(xiàn)一個簡易的版本。實現(xiàn)之前,我們先來看看Promise的用途: 使用Promise callback hell Promi...

    xcc3641 評論0 收藏0
  • Promise 對象的理解

    摘要:使用對象的好處在于可以將異步操作以同步操作的流程表達出來,避免了層層嵌套的回調(diào)函數(shù)。對象異步操作拋出錯誤,狀態(tài)就會變?yōu)?,就會調(diào)用方法指定的回調(diào)函數(shù)處理這個錯誤。 Promise 含義 Promise 是異步編程的一種解決方案,比傳統(tǒng)的解決方案——回調(diào)函數(shù)和事件——更合理和更強大。它由社區(qū)最早提出和實現(xiàn),ES6 將其寫進了語言標準,統(tǒng)一了用法,原生提供了 Promise 對象。 所謂 P...

    church 評論0 收藏0
  • Promise的源碼實現(xiàn)(完美符合Promise/A+規(guī)范)

    摘要:以上代碼,可以完美通過所有用例。在的函數(shù)中,為何需要這個同樣是因為規(guī)范中明確表示因此我們需要這樣的來確保只會執(zhí)行一次。其他情況,直接返回以該值為成功狀態(tài)的對象。 Promise是前端面試中的高頻問題,我作為面試官的時候,問Promise的概率超過90%,據(jù)我所知,大多數(shù)公司,都會問一些關于Promise的問題。如果你能根據(jù)PromiseA+的規(guī)范,寫出符合規(guī)范的源碼,那么我想,對于面試...

    gaomysion 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<