我有一段代码,变量有时以undefined
的形式出现,但我需要验证该值是否为undefined
才能通过代码执行
我提供的验证不能解决问题
_getKeycodeScans = (data) => this.props.getKeycodeScans(data.keycode.uid, 1).then(() => {
this.setState({detailsModalVisible: true, homeDetails: data});
}).catch(error => {
debugger
const { serverError } = JSON.parse(error.message);
this.setState({ serverError, loading: false });
});
_openDetailsModal = (data) => () => Promise.all([
console.log('&&&&&&&&&&&&&&&&&&&&**********&&&&&&&&&&&&&&&&&&&&&'),
console.log(data),
this._getKeycodeScans(data),
this._getKeycodeImageDataUrl(data),
this._getHomes(data)
]);
当_openDetailsModal被命中并调用内部函数时,uid未定义。
我收到错误消息:TypeError: Cannot read property 'uid' of undefined
。
当uid未定义时,我实际上不需要数据
答案 0 :(得分:0)
如果您的目标是仅在未定义data.keycode.uid
的情况下继续执行脚本,则可以:
_getKeycodeScans = (data) => {
if(!data.keycode || data.keycode.uid === undefined) {
return;
}
return this.props.getKeycodeScans(data.keycode.uid, 1).then(() => {
this.setState({detailsModalVisible: true, homeDetails: data});
}).catch(error => {
const { serverError } = JSON.parse(error.message);
this.setState({ serverError, loading: false });
});
}