Javascript的Promise调用出现了Promise混淆
Javascript Promise calling a Promise confusion
我正在使用Javascript/Typescript创建一个返回和格式化的PersonModel
对象的Promise
。然而,我得到构建错误:
PersonService.ts
private encryptPerson(person: PersonModel): Promise<PersonModel> {
return new Promise<PersonModel>(resolve => { // <== line 332
let password: string = person.password;
this.encrypt(password).then((ciphertext: string) => {
person.password = ciphertext;
resolve(person);
});
},
error => {
console.error(error)
});
}
private encrypt(value: string): Promise<string> {
return new Promise<string>(resolve => {
this.encrypter.encrypt(value).then((result) => {
resolve(result);
},
error => {
console.error(error)
});
});
}
误差ERROR in ./app/pages/service/personService.ts (332,16): error TS2346: Supplied parameters do not match any signature of call target.
任何帮助我应该如何构建这个感谢。
经以下T.J. Crowder的通知,我得到了以下内容:
private encryptPerson(person: PersonModel): Promise<PersonModel> {
return new Promise<PersonModel>(resolve => {
let password: string = person.password;
this.encrypt(password).then((ciphertext: string) => {
person.password = ciphertext;
resolve(person);
});
});
}
private encrypt(value: string): Promise<string> {
return new Promise<string>(resolve => {
this.encrypter.encrypt(value).then((result: string) => {
resolve(result);
});
});
}
您正在使用两个参数调用Promise
构造函数:
private encryptPerson(person: PersonModel): Promise<PersonModel> {
return new Promise<PersonModel>(resolve => { // <== line 332
let password: string = person.password;
this.encrypt(password).then((ciphertext: string) => {
person.password = ciphertext;
resolve(person);
});
},
error => { // ** This is the
console.error(error) // ** second argument
}); // ** to the constructor
}
它只接受一个参数。我怀疑第二个箭头函数应该附在第一个箭头内部的then
上。
另外,如果我对第二个函数的意思是正确的,请注意它将拒绝转换为使用undefined
作为分辨率值的分辨率。由于undefined
不是PersonModel
,我猜这也会是一个问题。
相关文章:
- 使用promise和mongoose对文档进行排序
- 测试Angular Service解决错误回调中的promise
- 节点协同与生成器和Promise并行流量控制
- 根据是否解析了 Promise 从函数返回值
- 将一个方法转换为promise:Nodejs
- 函数在promise被解析后被调用,但Jasmine未通过测试.为什么?
- 将错误与if语句混淆
- js promise没有正确关闭
- Angularjs使用“;这个“;promise内的关键字回调
- AngularJS和promise值在调用本地函数时的效果-未定义
- 在ES6 Promise中,我应该在解决/拒绝之前使用return吗
- 以同步方式获取Javascript Promise的值
- NodeJS和pg promise,捕获PostgreSQL异常
- AngularJS使用http进行promise处理
- jquery自定义事件混淆
- Angular promise return"未定义的“;值.NET MVC
- JavaScript加入多个数组混淆
- 将行为与Promise回调混淆
- Javascript的Promise调用出现了Promise混淆
- 更多的JQuery/Ajax和when/done/promise混淆