Нет запросов во время отладки tns - PullRequest
0 голосов
/ 27 июня 2018

это мое первое приложение в nativescript и в среде мобильной разработки в целом. И у меня возникли некоторые трудности. Я пытаюсь сделать несколько фиктивных 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 голосов
/ 04 июля 2018

Вы должны подписаться на запросы 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, а не подписываться на сам вызов. Исходя из опыта, я обнаружил, что может произойти необычное поведение

...