‘await‘ has no effect on the type of this expression.ts(80007)

本文解释了await操作符仅在Promise上下文中才有意义,探讨了如何识别await后的表达式是否为Promise,并给出了await在异步代码中的行为示例。重点在于解决await与非Promise值配合的警告,并介绍了await在JavaScript中的作用原理。
摘要由CSDN通过智能技术生成

该错误翻译过来意思是在当前表达式前面添加await没意义

await 操作符用于等待一个Promise 对象

故当看到该提示,应该确认await后边的表达式是否是一个promise,比如

// 确认next函数是否返回一个promise
await next();

一般这仅仅是一个警告,因为await后边也可以跟着其他表达式,比如一个常量表达式

await 1;

值得注意的是,await 会把该值转换为已正常处理的Promise,并在执行到微任务时才继续执行,即await仍旧是异步的。

const myfun = async () => {
  await 1;
  console.log(1);
};
console.log(2);
myfun();
// 输出 
// 2 
// 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值