const sum = (a: number, b: number) => a + b
const toUpper = (s: string) => s.toUpperCase()
function* main() {
const a = yield sum(1, 5)
console.log(a)
const b = yield toUpper('Hello')
console.log(b)
}
此时a
和b
的类型为any
,
现在想让生成器函数 main 中的a
和b
能够自动推导出number
和string
,
也就是 yield 的返回值,一定是 yield 后面的「函数」的返回值类型(函数已经执行了,或者说后面的值类型)。
不胜感激🙏
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.