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...