这个三元运算符表达式的等价物是什么?
What is the equivalent of this ternary operator expression?
我必须使用来自另一个公司项目的一段代码。
不幸的是,它包含一个在 SonarCloud 中触发错误的表达式。
错误是:
Non-empty statements should change control flow or have at least one side-effect
写这行的同事不在公司了
需要修改的行是xhr.status === 200 ? observable.next(xhr.response), observable.complete()) : observable.error(xhr.statusText);
.
完整代码如下:
sendMedia(file: File, presignedUrl: string): Observable<Object> {
return new Observable(observable => {
const xhr = new XMLHttpRequest();
xhr.open('PUT', presignedUrl, true);
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
xhr.status === 200 ?
(observable.next(xhr.response), observable.complete()) :
observable.error(xhr.statusText);
}
};
xhr.send(file);
});
}
如果这个块等同于那个语句?
if (xhr.status === 200) {
return observable.next(xhr.response), observable.complete();
} else {
return observable.error(xhr.statusText);
}
非常感谢任何试图提供帮助的人!
除了 return 语句
,你几乎完成了
if (xhr.status === 200) {
observable.next(xhr.response);
observable.complete();
} else {
observable.error(xhr.statusText);
}
我必须使用来自另一个公司项目的一段代码。 不幸的是,它包含一个在 SonarCloud 中触发错误的表达式。 错误是:
Non-empty statements should change control flow or have at least one side-effect
写这行的同事不在公司了
需要修改的行是xhr.status === 200 ? observable.next(xhr.response), observable.complete()) : observable.error(xhr.statusText);
.
完整代码如下:
sendMedia(file: File, presignedUrl: string): Observable<Object> {
return new Observable(observable => {
const xhr = new XMLHttpRequest();
xhr.open('PUT', presignedUrl, true);
xhr.onreadystatechange = () => {
if (xhr.readyState === 4) {
xhr.status === 200 ?
(observable.next(xhr.response), observable.complete()) :
observable.error(xhr.statusText);
}
};
xhr.send(file);
});
}
如果这个块等同于那个语句?
if (xhr.status === 200) {
return observable.next(xhr.response), observable.complete();
} else {
return observable.error(xhr.statusText);
}
非常感谢任何试图提供帮助的人!
除了 return 语句
,你几乎完成了if (xhr.status === 200) {
observable.next(xhr.response);
observable.complete();
} else {
observable.error(xhr.statusText);
}