javascript - 在 try...catch 语句中获取未定义的变量
问题描述
我正在使用 Vuex,这是我store.js
文件中的代码。
我已经在节点的浏览器e中测试了代码,它可以工作。
为什么我要进入undefined
声明try...catch
?
// the user object is
{ name: 'Foo', email: 'foo@bar.com' }
actions: {
login: async ({commit}, user) => {
console.log('user: ', user) // [OK] print { name: 'Foo', email: 'foo@bar.com' }
try {
console.log('user: ', user) // [FAIL] print undefined
} catch(err) {
console.error(err)
}
},
}
解决方案
我尝试了一种类似的操作,称为....登录(原文如此)。我从 try 块外部和内部的调用中都得到了正确的值。所以我现在的审问是:你如何构建你的应用程序?使用捆绑器,有或没有 babel 或其他?
我倾向于使用干净的设置进行开发,因此不使用 babel,并以 esm 格式与 rollup 捆绑。也许转译的代码是问题所在(例如,我知道为异步方法创建的生成器会产生截然不同的代码)。
推荐阅读
- sql-server - 在所有数据库上查询 INFORMATION_SCHEMA.COLUMNS?
- javascript - CORS 阻止了我的后端服务器,如何解决?使用 Springboot java 作为后端, react js 作为我的前端
- sql - UNION ALL 未按预期执行 - Oracle SQL
- python - 在 Azure Functions 中导入 Google Cloud python 库时出错
- javascript - 当我尝试将其作为道具传递给其他组件时,获取响应返回未定义
- nosql - 是否使用 Kafka Streams 和/或 KSQL 对来自数据库的数据流进行非规范化处理
- mysql - 在 MySQL 8.0 中,我有一个数据字段类型为 GEOMETRY 的列。为什么我的查询中的值没有一致地显示?
- javascript - 单击按钮时删除交叉并转到下面的行
- android - 我在 android studio 模拟器中运行的应用程序没有加载 localhost 数据库内容
- signalr-hub - 将复杂对象从 signalR .NET Core 3.0 集线器发送到 clientIn