1
2
3
4
5
6
7
8
9
10
11
12
|
firstAsync(
function
(data){
//處理獲得的 data 數據
//....
secondAsync(
function
(data2){
//處理獲得的 data2 數據
//....
thirdAsync(
function
(data3){
//處理獲得的 data3 數據
//....
});
});
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
firstAsync()
.then(
function
(data){
//處理獲得的 data 數據
//....
return
secondAsync();
})
.then(
function
(data2){
//處理獲得的 data2 數據
//....
return
thirdAsync();
})
.then(
function
(data3){
//處理獲得的 data3 數據
//....
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function
fetch(callback) {
setTimeout(() => {
throw
Error(
'請求失敗'
)
}, 2000)
}
try
{
fetch(() => {
console.log(
'請求處理'
)
// 永遠不會執行
})
}
catch
(error) {
console.log(
'觸發異常'
, error)
// 永遠不會執行
}
// 程序崩潰
// Uncaught Error: 請求失敗
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
function
fetch(callback) {
return
new
Promise((resolve, reject) => {
setTimeout(() => {
reject(
'請求失敗'
);
}, 2000)
})
}
fetch()
.then(
function
(data){
console.log(
'請求處理'
);
console.log(data);
},
function
(reason, data){
console.log(
'觸發異常'
);
console.log(reason);
}
);
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
function
fetch(callback) {
return
new
Promise((resolve, reject) => {
setTimeout(() => {
reject(
'請求失敗'
);
}, 2000)
})
}
fetch()
.then(
function
(data){
console.log(
'請求處理'
);
console.log(data);
}
)
.
catch
(
function
(reason){
console.log(
'觸發異常'
);
console.log(reason);
});
|
原文出自:www.hangge.com 轉載請保留原文連接:https://www.hangge.com/blog/cache/detail_1635.htmlhtml