promise一些常見api

2021-10-07 12:30:12 字數 3733 閱讀 9918

new

promise

((resolve,reject)

=>

catch

(error)})

.then

( value=>

, error=>

)

catch 捕獲error

new

promise

((resolve,reject)

=>).

then

( value=>)}

,// error=>).

catch

(error=>

)

上述**catch會將上乙個返回的promise物件錯誤處理接收;

自定義錯誤(ajax後台請求例子)

// 這是ajax部分**

})}這是js**

"../js/ajax.js"

>

<

/script>

// 1. 當url格式不正確時

// 2. 當訪問的username不存在時

let url=

'...'

;ajax(`

$/...name='username'`).

then

( user=>

/...id=$`

)}, error=>

else

if(error instanceof

usererror)}

).then

( course=>

, error=>

)<

/script>

// 指不管成功與否都會執行eee

newpromise

((resolve,reject)

=>).

then

( value=>)}

,// error=>).

catch

(error=>).

finally((

)=>

)

// 1. 普通定時器

var timer=

settimeout

(function()

,1000

)// 2. promise封裝

function

interval

(delay,callback)

,delay);}

);}// interval(2000).then(

// value=>,

// );

interval

(2000

,(id,resolve)

=>).

then((

)=>,(

)=>

);

根據使用者名稱批量獲取

function

getusers

(names)`)

;})return promise.

all(promises);}

getusers([

"name1"

,"name2"])

.then

(users=>

)

allsettled介面

function

getusers

(names)`)

;})return promise.

allsettled

(promises);}

getusers([

"",""]

).then

(users=>

) console.

log(users);}

)

race介面 例項作用 防止後台響應過慢

function

getusers

(names)`)

;new

promise

((resolve,reject)

=>

,3000)}

)})return promise.

race

(promises);}

getusers([

"",""]

).then

(users=>

) console.

log(users);}

).catch

(error=>

)

例項理解 使用陣列map

function

queue

(num)

,1000)}

)})}

)}queue([

1,2,

3,4]

)

function

queue

(num))}

);}functionp1(

),1000)}

)}functionp2(

),1000)}

)}queue

([p1,p2]

);

使用陣列reduce

function

queue

(num)

,1000)}

);})

},promise.

resolve()

)}

class

user

?name=user`);

xhr.

send()

; xhr.

onload

=function()

elseif(

this

.status==

404)

else};

xhr.

onerror

=function()

})}render

(users)).

then

(user=>)}

,promise.

resolve()

)}view

(user))}

}new

user()

.render([

'user1'

,'user2'])

;

promise的一些特點

resolve進入then,reject進入catch newpromise function resolve,reject then function res new promise function resolve,reject catch function res new promise fu...

一些ios介面api

天氣介面 介面 詞語2012 12 20 10 11 網 拍拍 財付通 百付寶 115 有道api介面引數說明 返回xml格式 13892101112 陝西延安 或者手機號碼 返回json格式 fyodaocallback 1,舉例 mobile 15018788111 要查詢的 號碼 conten...

物件的一些API

object.getprototypeof obj object.create obj 建立乙個空物件並把空物件的原型指向obj object.getownpropertydescriptor obj,屬性名 返回乙個新物件與原來的屬性標籤沒有了聯絡 object.getownpropertynam...