Angular CLI HttpParams 如何删除参数

Din*_*mar 5 angular-cli-v6

我正在使用角度 CLI。
如何删除令牌参数名称和值?

let params = new HttpParams();
    params = params.append('siteId', 1);
    params = params.append('orgId', 2);
    params = params.append('token', 3);
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我的代码:

validate(email) { 
  let params = new HttpParams(); 
  params = params.set('email', email); 
  params = params.set('siteId', this._global.SITEID); 
  params = params.set('orgId', this._global.ORGID); 
  params = params.set('domainName', this._global.DOMAIN_NAME); 
  params = params.set('token', this._global.getRandomUuid()); 
  params.delete('domainName',this._global.DOMAIN_NAME); 
  return this.api.call('member/duplicate', params); 
} 

call(url, params) { 
  // here I want to delete the token param name and value. 
}
Run Code Online (Sandbox Code Playgroud)

Sum*_*eed 5

params.delete:

构造一个新的主体,如果给定了值,则删除给定参数的给定值;如果没有,则删除给定参数的所有值。

例子:

params = params.delete('token');

仅写入params.delete('token')不会更新 params 对象,因为它params是不可变的。该delete方法不会修改原始对象,而是构造新对象并删除参数。