在tns调试期间无请求

时间:2018-06-27 16:40:01

标签: android angular android-emulator nativescript angular2-nativescript

这是我在本机脚本和一般移动开发环境中的第一个应用程序。而且我遇到了一些困难。我正在尝试使用angular http模块发出一些虚拟http请求,但是由于某些原因,当我在chrome中调试应用程序时,似乎没有发出请求。

这是我的代码:

模板:

<Page>
    <StackLayout>
        <Button text="GET" (tap)="get()"></Button>
        <Button text="POST" (tap)="post()"></Button>
    </StackLayout>
</Page>

组件:

import { Component } from "@angular/core";
import { AuthService } from "../../shared/auth.service";
import { HttpClient } from "@angular/common/http";

@Component({
    selector: "register",
    moduleId: module.id,
    templateUrl: "./register.component.html"
})
export class RegisterComponent {

    constructor(private auth: AuthService, private http: HttpClient) {}

    get()
    {
        console.log('GET');
        this.http.get('https://httpbin.org/get');
    }

    post()
    {
        console.log('POST');
        this.http.post('https://httpbin.org/post', null);
    }
}

现在,当那些功能执行时,没有记录的请求。 我正在模拟器中运行,因此可以从中浏览,因此,如果有人对可能出问题的地方有一些想法...

1 个答案:

答案 0 :(得分:1)

您必须订阅http请求,否则只能定义而不调用它们,请尝试在this.http.get('https://httpbin.org/get')this.http.post('https://httpbin.org/post', null)之后添加以下内容:

.subscribe(
    res => console.log(res),
    err => console.log(err),
    () => console.log("Done"),
);

修改

最初我没有提到,实际上最好是订阅返回http方法的函数,而不是订阅调用本身。根据经验,我发现可能会发生一些异常行为