【发布时间】:2022-01-27 12:37:27
【问题描述】:
我正在学习 Udemy 的教程并被困在这里:
Yelp.js
import axios from "axios";
export default axios.create({
baseURL : 'https://api.yelp.com/v3/businesses',
headers : {
Authorization :
'Bearer ****************'
}
})
SearchScreen.js
const SearchScreen = () => {
const [term, setTerm] = useState('');
const [results, setResults] = useState([]);
const searchApi = async () => {
const response = await yelp.get('', {
params : {
term : term,
location: 'san jose'
}
});
setResults(response.data);
}
return (
<View style={styles.backgroundStyle}>
<SearchBar
term = {term}
onTermChange = {setTerm}
onTermSubmit = {searchApi} />
<Text>We have found {results.length} results</Text>
</View>
);
};
const styles = StyleSheet.create({
backgroundStyle : {
backgroundColor : '#FFFFFF',
flex: 1
}
})
export default SearchScreen
当 searchApi 被触发时,我在控制台中看到此错误
[Unhandled promise rejection: Error: Network Error]
at node_modules/axios/lib/core/createError.js:15:17 in createError
at node_modules/axios/lib/adapters/xhr.js:114:22 in handleError
at node_modules/react-native/Libraries/Network/XMLHttpRequest.js:609:10 in setReadyState
at node_modules/react-native/Libraries/Network/XMLHttpRequest.js:396:6 in __didCompleteResponse
at node_modules/react-native/Libraries/vendor/emitter/_EventEmitter.js:135:10 in EventEmitter#emit
具有相同授权密钥的相同 Api 在 Postman 中工作。我在这里遗漏了什么吗?
【问题讨论】:
-
我的不是 localhost url
-
您可以尝试在您的
searchApi()中使用try{} catch(error){}块,或者在您的axios.create中添加timeout: 25000。希望对您有所帮助。 -
await yelp.get('')真的应该是空的吗?尝试将整个 URL 放在那里,即使它不是“必要的”。像'127.0.0.1'或'localhost'
标签: react-native axios