写JS时要注意...
-
1. 使用promise时一定要使用resolve或reject返回结果!
错误示例:
async function foo() { return new Promise((resolve, reject) => { if (conditionA) { resolve(); } }); }
正确:
async function foo() { return new Promise((resolve, reject) => { if (conditionA) { resolve(data); } else { reject(error); } }); }
2. 使用await时放在try、catch块儿内,防止出错!
正确:
try { data = await request() } catch (errer) { //handle error }
错误示例:
同样,使用 JSON.parse等易出错代码时,最好也放在try、catch块儿内。3. 处理网络请求返回的结果前先判断!
错误示例:request((res) => { //预期返回一个数组 someData = res[0].name; });
正确
request((res) => { //预期返回一个数组 if (Array.isArray(res) && res[0]) { someData = res[0].name; } });
-
await后面可以直接。catch