如何在Palantir Foundry Workshop中传递filterList输出至TypeScript函数
解决方法
1. 调整TypeScript函数的参数类型
问题出在参数类型不匹配:Workshop里filterList的输出是JSON对象类型,而你之前设的string参数会让变量选择器只匹配字符串类型的输出,所以找不到目标选项。调整参数类型即可:
// 快速兼容写法(适合不确定输出结构时) function processFilterList(filterOutput: any): string { // 这里写你的处理逻辑,比如把JSON转成特定格式的字符串 return filterOutput.items.map(item => `${item.id}-${item.name}`).join(';'); } // 严谨写法(推荐,根据实际输出结构定义) interface FilterListItem { id: string; name: string; isActive: boolean; } interface FilterListOutput { total: number; items: FilterListItem[]; } function processFilterList(filterOutput: FilterListOutput): string { // 自定义处理逻辑 return `筛选结果共${filterOutput.total}项:${filterOutput.items.filter(i => i.isActive).map(i => i.name).join(',')}`; }
2. 在Workshop中配置变量
- 进入变量创建界面,选择「调用TypeScript函数」类型
- 在函数选择下拉框里找到你定义的
processFilterList - 此时参数选择器会自动匹配兼容类型的输出,你就能在下拉菜单里找到
filterList的输出了 - 选中
filterList作为参数传入,保存变量即可——函数返回的字符串会自动存入该变量
额外排查点
如果还是找不到filterList输出,检查这两个地方:
- 确认
filterList已经正常生成输出(可以单独查看它的JSON结果是否有效) - 确认你的TypeScript函数已经被正确注册到Workshop的可用函数库中(部分平台需要手动同步或发布函数)
内容的提问来源于stack exchange,提问作者Anurag Thakur
相关产品推荐
相关产品推荐

