我正在检查数据库中是否有匹配的日期。如果有匹配项,它将被发回。 我通过GET请求执行此操作。
然后在我的.ts类中,查看返回的值是否为空。
recommended-section.service.ts
checkRetValue(recommendedSection: RecommendedSection): boolean{
var checkNumber = this.checkOverlappingDates(recommendedSection);
}
async checkOverlappingDates (recommendedSection: RecommendedSection) {
var copy = this.convert(recommendedSection);
var localeArray = [];
recommendedSection.recommendedSectionNames.forEach( (rsn) => {
localeArray.push(rsn.locale.id);
});
await this.activeFromActiveToQuery({
active_from: copy.activeFrom,
active_to: copy.activeTo,
locale_ids: localeArray
}).subscribe((data) => {
var retNumber;
if (data.json == "") {
retNumber = 1;
} else {
retNumber = 0;
}
return retNumber;
}), (res: ResponseWrapper) => this.onError(res.json);
}
activeFromActiveToQuery(req?: any): Observable<ResponseWrapper>{
const options = createRequestOption(req);
options.params.append("active_from", req.active_from);
options.params.append("active_to", req.active_to);
options.params.append("locale_ids", req.locale_ids);
return this.http.get(this.resourceActiveFromActiveToURL, options)
.map(res => {
return res.json();
});
}
是否可以将retNumber
返回到函数checkRetValue
?
我尝试了很多建议,但找不到适合我的建议。
答案 0 :(得分:0)
您可以在管道中使用map方法转换结果,然后返回可观察到的可观察到的数字。
答案 1 :(得分:0)
尝试了许多不同的解决方案后,这对我有用:
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10010
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
我使用async checkOverlappingDates(recommendedSection: RecommendedSection) {
var copy = this.convert(recommendedSection);
var localeArray = [];
recommendedSection.recommendedSectionNames.forEach((rsn) => { localeArray.push(rsn.locale.id); });
var tester = await this.activeFromActiveToQuery({
active_from: copy.activeFrom,
active_to: copy.activeTo,
locale_ids: localeArray
}).first().toPromise();
而不是使用subscribe()方法。
这可能不是最好的答案,但现在可以正常工作了。