如何解决在外部JS文件中映射和呈现axios响应数据 axios.js example.js
我有两个文件,一个是axios.js(主要用于获取),另一个是获取结果并根据数据呈现内容。
我尝试了其他方法,但是无法正常工作。
JSON是正确的。我想基于#name
和#price
的值属性来显示可用性文本,它必须匹配。
我已经在值之前记录了日志,这是正确的,但是当我尝试基于API进行渲染时,这就是我迷路的时候。
这是文件的样子:
axios.js
import axios from 'axios';
export const test1 = () => {
return axios.get('data/models.json')
.then(response => {
return response.data
})
}
example.js
import { test1 } from "./axios";
let fetchModels = test1();
const price = document.querySelector('#price');
const name = document.querySelector('#name');
test1.then((result) => {
const i,j,match;
match = false;
for (i = 0; i < result.length; i++) {
for (j = 0; j < result[i].prices.length; j++) {
if (result[i].prices[j].final == price.value &&
result[i].name == name.value {
match = true;
return document.querySelector('#availability').textContent = result[i].prices[j].availability;
}
}
}
if (match == false) {
console.log('No match found.');
}
})
当然,我在执行时会收到No match found
日志。
解决方法
在函数内部编写而不是直接调用它,在这种情况下,您想创建一个在函数内部调用test1()的函数,这将返回一个promise,然后您就可以处理其中的已解决和错误部分像往常一样,在then()中,您将返回数据,在catch()中,将记录所需的任何错误处理程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。