我有一个函数,如果有错误,将返回一个字符串,或者在没有错误时返回两个对象。我的功能如下:
function logResults(json) {
const one = json[0]
const two = json[1]
const error = json[0].error
if (error) {
return 'error at logResults' // string type
}
return (one, two) // object type
}
我的问题是,是否可以解构此函数的返回类型?如果成功返回两个对象,则此行有效:let [ one, two ] = logResults(json)
,但如果返回字符串则无效。如果无法进行解构,处理不同退货类型的最有效方法是什么?
答案 0 :(得分:1)
呃,不要那样做。正是由于您已证明的原因:该功能变得无法使用。只需抛出错误或返回包含两个对象的数组。如果有错误,则返回一个字符串;如果没有错误,则返回两个对象
<OnSiteSearch>
...
<Search>
<SearchTerm>(horses?|cows?) for sale</SearchTerm>
<Destination>~/some/path.html</Destination>
</Search>
...
</OnSiteSearch>
现在你可以按照想象在电话会议后使用解构。