【发布时间】:2021-04-13 16:30:47
【问题描述】:
在我的 Expo 上,我收到以下错误:
我认为这是由于我的代码中存在 Async/Await 问题,但我不确定如何修复它。我是 ReactNative 的新手,正在学习 Stephen 的 Complete React 课程,但他根本没有讨论这个问题,因此非常感谢任何帮助。
这是我的代码:
import { useEffect, useState } from 'react'
import yelp from '/Users/macbook/Coding Stuff React Native/food/src/api/yelp.js'
export default () => {
const [results, setResults] = useState([]);
const [errorMessage, setErrorMessage] = useState('');
const searchApi = async searchTerm => {
console.log('Hi there!');
try {
const response = await yelp.get('/search', {
params: {
limit: 50,
term: searchTerm,
location: 'san jose'
}
});
setResults(response.data.businesses);
} catch (err) {
setErrorMessage('Something went wrong');
}
};
// Call searchApi when component
// is first rendered. BAD CODE!
// searchApi('pasta');
useEffect(() => {
searchApi('pasta');
}, [])
return [searchApi, results, errorMessage];
};
谢谢你:)
【问题讨论】:
-
const response = async ....;表示response将成为Promise。 -
是的,我在网上看到过这个。代码是否有修复程序来使用它?感谢您的回复!
-
您需要在
response.then(() => { ... })中执行您的逻辑,一旦承诺解决,该逻辑就会执行。 -
我相信问题不在这部分代码中。与 react 不同,react native 中的字符串只能在
标记内呈现。 -
你能在你用过的地方添加更多代码吗?
标签: javascript node.js react-native async-await