以前只能用回乎函式來解決非同步程式碼的問題,但是回呼函式很難維護與閱讀,如下:
代碼: 選擇全部
getJSON("data/ninjas.json", function(err, ninjas){
getJSON(ninjas[0].location, function(err, locationInfo){
sendOrder(locationInfo, function(err, status){
/*Process status*/
})
})
});
代碼: 選擇全部
const promise = new Promise((resolve, reject) => {
resolve("Promise return");
// reject("Promise error");
});
promise.then( res => console.log(res)).catch( err => console.log(err));
但若遇到被拒絕的約定或異常可以透過 catch 方法處理發生的錯誤。