我使用 flow-type
将异步方法的返回类型定义为 Promise < string >如果我添加一个 try catch 循环,它就不起作用。
请点击示例查看在flow.org/try上运行的代码
示例 1 不起作用 🛑 - Code
async function foo(): Promise<string> {
try {
return await 'foo'
} catch (e){ console.error(e) }
}
示例 2 有效 👍 - Code
async function foo(): Promise<string> {
return await 'foo'
}
最佳答案
“我想发布问题帮助我弄明白了”
适用于 Try/Catch 👍 Code
async function foo(): Promise<string | void> {
try{
return await 'foo'
} catch (e){ console.error(e) }
}
我添加了| void
类型。
原因是因为 catch 实际上返回一个等于 void 的未定义值。
但我仍然想知道还有什么方法可以简化类型代码
关于javascript - 异步字符串的流类型返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48918188/