我的 `Buttonhandler` 总是导致这个错误,我不知道如何解决
My `Buttonhandler` always causes this error and I don't know how to fix it
好的,所以我有一个离子选择器,我给了它一个完成按钮,它读取选定的值并将其保存在一个数组中。整个事情没有问题,但是当我编译它时它总是导致显示这个错误:
"error TS2322: Type '() => Promise<void>' is not assignable to type
'(value: any) => boolean | void'.
Type 'Promise<void>' is not assignable to type 'boolean | void'.
Type 'Promise<void>' is not assignable to type 'void'."
这不是一个真正的问题,因为错误只在我编译时出现,并没有造成任何真正的损害,但我仍然希望它得到解决。
我尝试了很多尝试来解决这个问题,但没有任何方法可以在不破坏处理程序功能的情况下消除错误。 (如下图)
{
text: 'Done',
role: 'confirm',
handler: async () => {
const vari = await this.picker.getColumn(this.pickervalues[id].name);
this.selectedvalue = vari.options[vari.selectedIndex].text;
this.selected[id] = this.selectedvalue;
}
}
有人知道如何消除这个错误吗?
您可以使用 then 而不是 async/awiat:
{
text: 'Done',
role: 'confirm',
handler: () => {
this.picker.getColumn(this.pickervalues[id].name).then(() => {
this.selectedvalue = vari.options[vari.selectedIndex].text;
this.selected[id] = this.selectedvalue;
});
}
}
看到这个Github issue
以供参考。
好的,所以我有一个离子选择器,我给了它一个完成按钮,它读取选定的值并将其保存在一个数组中。整个事情没有问题,但是当我编译它时它总是导致显示这个错误:
"error TS2322: Type '() => Promise<void>' is not assignable to type
'(value: any) => boolean | void'.
Type 'Promise<void>' is not assignable to type 'boolean | void'.
Type 'Promise<void>' is not assignable to type 'void'."
这不是一个真正的问题,因为错误只在我编译时出现,并没有造成任何真正的损害,但我仍然希望它得到解决。
我尝试了很多尝试来解决这个问题,但没有任何方法可以在不破坏处理程序功能的情况下消除错误。 (如下图)
{
text: 'Done',
role: 'confirm',
handler: async () => {
const vari = await this.picker.getColumn(this.pickervalues[id].name);
this.selectedvalue = vari.options[vari.selectedIndex].text;
this.selected[id] = this.selectedvalue;
}
}
有人知道如何消除这个错误吗?
您可以使用 then 而不是 async/awiat:
{
text: 'Done',
role: 'confirm',
handler: () => {
this.picker.getColumn(this.pickervalues[id].name).then(() => {
this.selectedvalue = vari.options[vari.selectedIndex].text;
this.selected[id] = this.selectedvalue;
});
}
}
看到这个Github issue 以供参考。