Httpparams set function call directlry or after cemicolmn 有什么不同
What is different that Httpparams set function call directlry or after cemicolmn
我在 angular 6 中使用了 httpparams。我有一个问题。
当我将 Httpparams 与 set 一起使用时,set
函数在构造函数之后调用或调用变量名是非常不同的。
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()
,则不会显示任何信息。我认为一个 ~ thr querystring 被插入了正文。
有什么区别?
HttpParams 是 immutable :这意味着您不修改它,而是每次 return 一个新对象。
第一个函数可以翻译成
funtionTest(): any{
let params: HttpParams = new HttpParams();
params = params.set('one','one');
params = params.set('two','two');
params = params.set('three','three');
...
}
这就是您的第二个函数不起作用的原因:您没有将 return 值分配给任何东西。
要知道这一点,只需使用 Ctrl + 单击 !
检查 set
函数的签名
我在 angular 6 中使用了 httpparams。我有一个问题。
当我将 Httpparams 与 set 一起使用时,set
函数在构造函数之后调用或调用变量名是非常不同的。
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()
,则不会显示任何信息。我认为一个 ~ thr querystring 被插入了正文。
有什么区别?
HttpParams 是 immutable :这意味着您不修改它,而是每次 return 一个新对象。
第一个函数可以翻译成
funtionTest(): any{
let params: HttpParams = new HttpParams();
params = params.set('one','one');
params = params.set('two','two');
params = params.set('three','three');
...
}
这就是您的第二个函数不起作用的原因:您没有将 return 值分配给任何东西。
要知道这一点,只需使用 Ctrl + 单击 !
检查set
函数的签名