ES6 04 Promise設計 類 模組

2022-07-31 05:36:15 字數 2411 閱讀 1125

一,promise

promise的三種狀態

1,pending:剛剛建立乙個promise例項的時候,表示初始狀態;

2,fulfilled:resolve方法呼叫的時候,表示操作成功;

3,rejected:reject方法呼叫的時候,表示操作失敗;

promise的基本用法

//

用new關鍵字建立乙個promise例項

let pro = new promise(function

(resolve,reject)else

});//

用then處理操作成功,catch處理操作異常

pro.then(function

(res) ).catch(function

(error) );

promise例項的兩種方法

1,then方法

引數是兩個函式,第乙個用於處理操作成功後的業務,第二個用於處理操作異常後的業務。

2,catch方法

catch只接受乙個引數,用於處理操作異常後的業務。

promise的兩種方法

1,all方法

當幾個pro例項物件都返回成功或者都失敗時才會呼叫後面的**方法

var pro1 =new

promise(...)

var pro2 =new

promise(...)

promise.all([pro1,pro2]).then(

function

(result));

2,race方法

當幾個例項物件有乙個發生變化時(不論是成功還是失敗,只要變化了)就會呼叫後面函式,之後其他物件再發生變化也不會再進行呼叫

var pro1 =new

promise(...)

var pro2 =new

promise(...)

promise.race([pro2,pro1]).then(

function

(result)).

catch(function

(error));

promise的好處是可以更合理的處理非同步操作,避免**地獄

二,類類的基本組成

類名 類體 類體中可以寫入屬性和方法

類由class關鍵字宣告,有構造器方法,constructor(),構造器方法的this指向例項化物件

class animal 

getname()}

var dog = new animal("狗");

cosole.log(dog.name)

//"狗"

consile.log(dog.getname())//

this is a 狗

例項物件的建立有幾個要注意的事項:

1,必須使用new建立字來建立類的例項物件

2,先宣告定義類,再建立例項,否則會報錯

類的繼承

class dog extends animal }

使用super有幾個要注意的事項:

1,子類必須在constructor方法中呼叫super方法

2,呼叫super( ),才可以使用this,否則報錯

三,module模組

匯入import作為乙個模組,可以根據需要,引入其他模組的提供的屬性或者方法,供自己模組使用。

匯出export作為乙個模組,它可以選擇性地給其他模組暴露(提供)自己的屬性和方法,供其他模組使用。

基本案例

var name="前端君";

var age =25;

var say=function

()export

import from "./moduleb.js"cosole.log(name)

cosole.log(age)

say()

讓匯出的變數改變名字

import from "./module.js"console.log(myname)

整體匯入

import * as obj from "./module.js"console.log(obj.name)

//前端君

console.log(obj.age)//

25obj.say()//

say hello

預設匯出export default

export default

function

()import saydefault from "./module.js"saydefault();

匯出的變數都是不可修改的,只有物件可以修改

匯入不存在的變數,值為undefined。

前端技術 ES6(04)

const persion sayhiasync1 function 1000 sayhiasync2 function 1000 abc function persion.sayhi this.name jerry persion.sayhi persion.sayhiasync1 settime...

ES6 04 函式的擴充套件

es6 針對新的語法特性 解構 引數預設值 箭頭語句 塊級作用域let 對於函式的屬性 引數 作用域進行了擴充套件,並對遞迴調導致記憶體棧溢位用進行了優化。同時es6規定,只要函式引數使用了預設值 解構賦值 擴充套件運算子,函式內部都不可以使用嚴格模式 es5可以 否則會報錯 1.函式引數預設值es...

ES6 04常用的解構

其他解構 1.es6除了提供物件和陣列解構,還提供很多適用的解構方案 2.若你想要讓乙個普通的值進行交換,不必需要第三個變數 let key 1 let value mr.lee key,value value,key 解構操作,變數互換 console.log key console.log va...