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

时间:2017-09-07 07:23:25

标签: javascript angular

从服务中获取详细信息并将其分配给 loginDetailsArray 数组。现在我需要在获得数据成功后调用 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;
    }

2 个答案:

答案 0 :(得分:1)

这应该有用吗?

loadLoginDetails() {

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

答案 1 :(得分:1)

在使用您的服务时,您会得到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 => {}

如果您希望仅在成功响应时运行它,如果您想要运行它而不管您的响应如何,请从

运行它
() => {}

问候!