javascript - 条件运算符如何与否定一起使用?
问题描述
我开始学习异步 javascript,虽然我确实了解回调和承诺,但我正在学习的代码引起了我的注意。例如:
function funcA(){
console.log('World')
}
function funcB() {
return new Promise((resolve, reject) => {
console.log('Hello')
const error = false
!error ? resolve() : reject('Error')
})
}
funcB()
.then(funcA)
.catch(err => console.log(err))
在这种情况下, !error不是说if(error === true)然后解决它,否则 (error === false),reject()?
还是简单地说“如果没有错误,那就解决”?
解决方案
在您提供的示例代码中,该行将!error ? resolve() : reject('Error')
显示“如果没有错误,请解决,否则拒绝并显示消息'错误'”。
重要的是要注意行首的非运算符(!)。这将等同于以下内容:
const error = false
if (!error) {
resolve()
} else {
reject('Error')
}
推荐阅读
- java - 如何在运行时将 GUI 组件添加到容器中?
- performance - 提高 fortran 编译器性能(编译时间和内存)
- git - 用 git 部署 CraftCMS 3 的正确方法是什么?我不断收到权限问题
- c# - 在活动目录底层对象上使用 linq
- import - 错误处理来自文件的意图:'intents/
_用户说_ .json'。上传的文件包含无效的 Intent - asp.net-web-api - 使用开放 ID 连接保护 WebApi
- php - 通过 php 发送表单 - 回声工作但没有电子邮件?
- c# - 用于 2D Procedural World Gen 的动态多维数组
- sql - SQL - 添加结果摘要
- angular - 添加一个信号通知插件后,ionic 3 应用程序已停止