Чем отличается то, что Httpparams устанавливает вызов функции directlry или после cemicolmn - PullRequest
0 голосов
/ 05 апреля 2019

Я использую httpparams в угловых 6. И у меня есть один вопрос.

Когда я использую Httpparams с множеством, очень различие в том, что set funciton вызывается после Constructor или имени переменной.

funtionTest(): any{
    let params: HttpParams = new HttpParams()
            .set('one','one')
            .set('two','two')
            .set('thr','thr');
    ... some request
}

funtionTest2(): any{
    let params: HttpParams = new HttpParams();
    params.set('one','one');
    params.set('two','two');
    params.set('thr','thr');
    ... some request
}

если я позвонил functionTest(), то one two thr опишите строку запроса

ex) requestUrl?one=one&two=two&thr=thr;

но, если я позвонил functionTest2(), никакой информации не показывается. я думаю, что одна строка запроса вставляется в тело.

в чем разница?

1 Ответ

0 голосов
/ 05 апреля 2019

HttpParams являются неизменяемыми : это означает, что вы не изменяете его, а скорее возвращаете новый объект каждый раз.

Первая функция может быть переведена в

funtionTest(): any{
    let params: HttpParams = new HttpParams();
    params = params.set('one','one');
    params = params.set('two','two');
    params = params.set('three','three');
    ...
}

Вот почему ваша вторая функция не работает: вы не присваиваете возвращаемое значение чему-либо.

Чтобы узнать это, просто проверьте сигнатуру функции set с помощью Ctrl + Click!

...