我提供编码密码的服务。此服务使用ts-md5:
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Md5 } from 'ts-md5/dist/md5';
@Injectable()
export class HashService {
constructor() { }
generate(str): Observable<string>{
const h = Md5.hashStr(str);
console.log(h, typeof h);
return h;
}
}
从组件i订阅服务:
this.hashService.generate(this.form.value.password).subscribe((hash) => {
console.log(hash);
});
但是控制台显示会出现以下错误消息:
src / app / shared / services / hash.service.ts(15,5)中的错误:错误TS2322: 输入'string | Int32Array'不能分配给'Observable'类型。 类型'string'不能分配给'Observable'
类型
我尝试指定一种更常见的类型:
generate(str): Observable<any>{
但问题仍然存在
答案 0 :(得分:2)
New-AzureRmResourceGroupDeployment -ResourceGroupName dev -TemplateFile C:\Users\vv\ARMTemplates\Clustercopy.json -TemplateParameterFile C:\Users\vv\ARMTemplates\paramFile.params.json
不返回Observable,它返回一个字符串。您不需要返回可观察和订阅。您只需返回字符串
Md5.hashStr()