【发布时间】:2019-04-22 21:48:48
【问题描述】:
我有一个定义了以下 getter/setter 的类:
class ConfigStoreController {
get debugMode() {
return (async () => await this.GetConfigParameter("debugMode"))();
}
set debugMode(value: string) {
(async () => await this.SetConfigParameter("debugMode", value))();
}
private async GetConfigParameter(parameter: string) {
return await RX.Storage.getItem(parameter);
}
private async SetConfigParameter(param: string, value: string) {
return await RX.Storage.setItem(param, value);
}
}
export default new ConfigStoreController();
getter因为setter而被标记为不正确,即如果后者被移除,那么getter就OK了。
错误如下:
return (async () => await this.GetConfigParameter("debugMode"))(); 错误 TS2322:类型“承诺”不可分配给类型“字符串”。
要清楚,单独的 getter 编译得很好:
get debugMode() {
return (async () => await this.GetConfigParameter("debugMode"))();
}
我的代码有什么问题?
【问题讨论】:
标签: typescript async-await getter-setter