如何将TypeScript编写的Promise类型判断函数转换为ES6格式
转换方法
你提供的是TypeScript代码,转纯ES6只需要移除所有TS专属的类型注解即可,核心运行逻辑不需要修改:
转换后的isSuccess函数
function isSuccess(response) { return 'value' in response; }
转换后的业务逻辑代码
const result = (await Promise.allSettled(searchRequestBuilder)) .filter(isSuccess) .filter((response) => response.value) .map(({ value }) => { let list = { value_id: '', }; if (value[0]) { list = value[0]; } return list; });
补充说明
- 原代码里的
ValueTypes泛型、类型守卫标记: response is PromiseFulfilledResult<ValueTypes[]>、变量类型标注: MetaDataTypes都属于TS专属语法,ES6原生不支持,直接移除即可 - 如果需要保留类型校验能力,不能直接在ES6环境运行原代码,需要先通过tsc、Babel等工具将TS编译为ES6代码后再执行
内容的提问来源于stack exchange,提问作者user16691768
相关产品推荐
相关产品推荐

