Kam*_*r04 6 javascript promise axios
我正在尝试使用参数实现从 API 获取数据。我有两个函数,但我看不到错误。有任何想法吗?
getFilteredProducts() {
return apiClient.get('/product/', {
params: {
search: String(name)
}
})
}
Run Code Online (Sandbox Code Playgroud)
async fetchFilteredProducts({ commit }, name) {
await productService.getFilteredProducts({name})
.then(response => {
commit('SET_FILTERED_PRODUCTS', response.data.items)
})
.catch(error => {
console.log('Error has occured' + error)
})
}
Run Code Online (Sandbox Code Playgroud)
我收到了以下代码的工作解决方案,因此问题可能与第二个参数有关。
async fetchFilteredProducts({ commit }, name) {
await axios.get("MY_API_URL/product/", {
params: {
search: String(name)
}
})
.then(response => {
commit('SET_FILTERED_PRODUCTS', response.data.items)
})
Run Code Online (Sandbox Code Playgroud)
目前尚不清楚你想要完成什么,但我认为你的功能应该是这样的:
使用异步/等待:
// Your Service
async getFilteredProducts(name) {
return await apiClient.get('/product/', {
params: {
search: String(name)
}
})
}
// Using Your Service
async someParentFunction() {
const response = await getFilteredProducts("John")
console.log(response.data);
}
Run Code Online (Sandbox Code Playgroud)
使用承诺:
// Your Service
getFilteredProducts(name) {
return apiClient.get('/product/', {
params: {
search: String(name)
}
})
}
// Using Your Service
getFilteredProducts("John").then((response) => {
console.log(response.data);
})
Run Code Online (Sandbox Code Playgroud)
请注意name我传递给getFilteredProducts方法的参数。以前不存在,因此String(name)会导致空字符串""。
| 归档时间: |
|
| 查看次数: |
15955 次 |
| 最近记录: |