我有一个移动应用程序我正在构建,现在我正在进行身份验证.在我访问主页之前,我需要在我可以向用户显示数据之前,在我构建的API上点击各种端点.
在Postman中测试时,所有端点都返回正确的数据,但是null当我在我的应用程序中使用它时,我在第二次异步调用中得到一个值.
我确定它与这些调用的顺序有关,所以我只是在寻找一些帮助,以便我可以在启动另一个调用之前等待一个调用完成.
public login() {
this.showLoading();
this.userService.getUserIdFromUserName(this.registerCredentials.username) // WORKS
.subscribe(
res => {
console.log(res);
localStorage.setItem("UserId", res.toString());
},
err => {
console.log(err);
});
this.userService.getEmployeeIdFromUserId(localStorage.getItem("UserId")) // THIS RETURNS NULL
.subscribe(
res => {
console.log(res);
localStorage.setItem("EmployeeId", res.toString());
},
err => {
console.log(err);
});
this.authService.login(this.registerCredentials)
.subscribe(
data => {
this.loading.dismissAll();
console.log('User logged in successfully! ', data);
this.nav.push(TabsPage);
localStorage.setItem("Username", this.registerCredentials.username);
localStorage.setItem("isLoggedIn", "true");
},
error => {
this.loading.dismissAll();
this.showAlert("Uh oh!", "Something went wrong. Please re-enter your login credentials or check your connection.");
console.log(error); …Run Code Online (Sandbox Code Playgroud) 所以我有一个DatePicker,我可以更改某个字段,但我希望它只HTML在用户确认更改时更新.但是,目前,当我(ionChange)在我的ion-datetime元素中使用该事件时,它会在我的确认警告弹出之前自动更新UI.
如何才能使我的日期选择器中的值仅在用户按下确认时更改?
updateStartTime(startTime) {
let alert = this.alertControl.create({
title: 'Change start time',
message: 'Are you sure you want to update the start time for this event?',
buttons: [{
text: 'Cancel',
handler: () => {
console.log('cancel');
}
}, {
text: 'Confirm',
handler: () => {
console.log(startTime);
}
}]
});
alert.present();
}
Run Code Online (Sandbox Code Playgroud)
<ion-item detail-push>
<ion-label><b>Start: </b></ion-label>
<ion-datetime displayFormat="hh:mm A"
[(ngModel)]="item.EventStart"
(ionChange)="updateStartTime(item.EventStart)"></ion-datetime>
</ion-item>
Run Code Online (Sandbox Code Playgroud) 我有一个函数来抓取文本数据作为JSON,然后进行字符串化.我正在尝试在我的Web应用程序中以模式显示此数据,但字符串在HTML中显示如下:
{"body":"--- \nbl_playout_user:BLplayout \n \n#播放配置值\nbl_playout_image_drive_mount:'\\ Paparazzi\Images'\nbl_playout_image_path:'我:'\nbl_playout_machine_role:Primary \nbl_playout_network_name:ABC1 \nbl_playout_stand_alone_mode:0 \nbl_playout_run_mode:HD \nbl_playout_format:AJA \nbl_playout_resolution:720P \nbl_playout_logo_override:ABC \nbl_playout_default_header:底线\nbl_playout_sponsor_on:15000 \nbl_playout_sponsor_off:60000 \nbl_playout_media_ball_on:15000 \nbl_playout_media_ball_off:15000 \nbl_playout_page_engine_working_directory: '{{bl_templates_root_dir}}\SC14_Templates' \nbl_playout_schema_file_path : '{{bl_templates_root_dir}}\SC14_Templates\BLMaster.xsd' \nbl_playout_default_swatch_path: '{{bl_templates_root_dir}}\SC14_Templates\003_BtmLn_deliverable_ele\still_ele\RDBL_GENERIC_SWATCH.png' \nbl_playout_default_logo_path:"{{bl_templates_root_dir}}\SC14_Templates\003_BtmLn_deliverable_ele\still_ele\default_team_logo.png'\n"}
我希望将实例\n替换为一个,<br>以便它在HTML中正确显示,但是我的功能似乎没有做到这一点.任何想法为什么?我很难过.
var stringData = JSON.stringify(data);
stringData = stringData.replace(new RegExp('\r?\n','g'), '<br />');
return stringData;
Run Code Online (Sandbox Code Playgroud) javascript ×3
html ×2
angular ×1
angularjs ×1
datepicker ×1
jquery ×1
json ×1
rxjs ×1
typescript ×1