await不要用try-catch了

简介: 直接在 await 后面 catch

牙叔教程 简单易懂

一般人是这样写代码的
function test() {
  return new Promise((resolve, reject) => {
    throw new Error("testError");
  });
}

async function main() {
  try {
    await test();
  } catch (err) {
    console.log(err);
  }
}
main();

二般人是这样写代码的
function test() {
return new Promise((resolve, reject) => {

throw new Error("testError");

});
}

async function main() {
await test().catch((err) => {});
console.log("await后 这里正常打印 说明await后面的代码不会被阻塞");
}
main();

再此时一下返回值
function test() {
return new Promise((resolve, reject) => {

resolve("hello world");

});
}

async function main() {
let result = await test().catch((err) => {});
console.log(result);
console.log("await后 这里正常打印 说明await后面的代码不会被阻塞");
}
main();

function test() {
return new Promise((resolve, reject) => {

throw new Error("testError");

});
}

async function main() {
let result = await test().catch((err) => {

console.log(err);

});

console.log("result = ");
console.log(result);
console.log("await后 这里正常打印 说明await后面的代码不会被阻塞");
}
main();

以后就不用try catch await了

环境

设备: 小米11pro
Android版本: 12
Autojs版本: 9.3.11

名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, github, 安卓文档, autojs文档, 最后才是群里问问 --- 牙叔教程

声明

部分内容来自网络 本教程仅用于学习, 禁止用于其他用途

相关文章
|
7月前
|
前端开发 UED
【面试题】async/await 函数到底要不要加 try catch ?
【面试题】async/await 函数到底要不要加 try catch ?
|
7月前
|
JSON 前端开发 JavaScript
await
`await` 是 JavaScript 中的一个关键字,它仅在 `async` 函数内部有效。`await` 用于等待一个 `Promise` 对象解析为其完成值或拒绝值。通过使用 `await`,
67 1
try catch finally,try 里面有 return,finally 还执行吗?
try catch finally,try 里面有 return,finally 还执行吗?
79 0
|
7月前
|
前端开发 UED
【面试题】 async/await 函数到底要不要加 try catch ?
【面试题】 async/await 函数到底要不要加 try catch ?
【面试题】 async/await 函数到底要不要加 try catch ?
如何给所有的 await async 函数添加try/catch?
如何给所有的 await async 函数添加try/catch?
|
前端开发
for...in、for...of、for await...of
for...in、for...of、for await...of
47 1
16 # 实现 catch 方法
16 # 实现 catch 方法
59 0
|
前端开发 UED
async/await 函数到底要不要加 try catch ?
async/await 函数到底要不要加 try catch ?
125 0
try...catch中,catch加了return,后面的代码是不会执行的
try...catch中,catch加了return,后面的代码是不会执行的
109 0