我有一个函数可以像这样返回类型为Bar
的对象
myFunc() {
return <Bar>asyncGet(); / fetches the info and casts the server response to Bar
}
比某些控制器,如果我做
let bar = myFunc();
// bar instanceof Bar doesn't return true...
由于我没有通过instanceof
构造函数实现bar,所以 Bar
没有按预期工作。
如何检查myFunc
返回的对象是否为Bar
类型?
答案 0 :(得分:0)
由于您对asyncGet
的调用可能是异步的 - 很可能会返回Promise
。因此,您需要使用它或使用async/await
方法。应该注意这样的事情:
myFunc() {
return <Bar>asyncGet();
}
myFunc().then(bar => { /* do something with it*/});
或
async myFunc() {
return <Bar>asyncGet();
}
let bar = await myFunc();
答案 1 :(得分:-2)
你可以告诉你的功能它必须返回什么类型:最后的栏。 例如:
DISTINCT ON
这样你的函数就必须返回类型bar。