繁体   English   中英

如何在Angular2中对成功的HTTP请求使用回调函数?

[英]How to use Callback function on successful HTTP request in Angular2?

正在从服务获取详细信息,并将其分配给loginDetailsArray数组。 现在,我仅在成功获取数据后才需要调用functions() 我只是试图直接调用functions(),但是它在获取数据之前正在读取该函数。 我正在考虑在这里使用回叫功能。 但是作为一个新手,我不知道如何获得它。 提前致谢。

 loadLoginDetails() { this.customerService.getLoginDetails().subscribe(res => { this.loginDetailsArray = res.json(); }); } functions() { var minLength = this.loginDetailsArray.rules.username.minlength; var maxLength = this.loginDetailsArray.rules.username.maxlength; var pattern = this.loginDetailsArray.rules.username.pattern; } 

这应该工作吗?

loadLoginDetails() {

  this.customerService.getLoginDetails().subscribe(res => {
    this.loginDetailsArray = res.json();
    this.functions();
  });
}

使用服务时,您会收到3个响应,其中1个响应数据,1个响应错误,以及1个呼叫完成时的响应。

loadLoginDetails() {
    this.customerService.getLoginDetails().subscribe(
        res => {
            //Code if your response has data.
        },
        error => {
            //Code if your response has error.
        },
        () => {
            //Code when your request is finished.
        }
    );
}

您可以从中调用函数

res => {}

如果您希望仅在响应成功后才运行它,如果无论响应如何都希望运行它,请从以下位置运行

() => {}

问候!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM