我需要从一个URL(包含JSON中的信息)中获取一些关于几个对象的信息。 所以我写道:
static fetchObj(){
fetch("http://localhost:1337/objects")
.then(callback => {
return callback.json();
})
.then(data => {
console.log(data);
});
}
在这里,我可以检索我需要的东西并控制它们以确保。
然后我必须在另一个通过ID找到这些对象的函数中使用这些数据:
static fetchObjById(id) {
MyClass.fetchObj()
.then(
for(var i=0; i<data.id.length; i++){
if(data[i].id == id)
console.log("found");
else
console.log("not found");
}
}
但它根本不起作用..我尝试了几种方法但没有...我希望有人可以帮助我:))
答案 0 :(得分:1)
powershell
需要一个功能。您可以通过此函数的单个参数访问Promise的结果数据,该参数可通过箭头功能轻松完成。
另外,我建议你抛弃显式的for循环并研究声明式编程。与then()
类似,在数组上调用then()
可让您使用箭头函数访问每个元素。对我来说,这更具可读性。
最后,通过首先声明打印消息应该是什么(使用三元运算符),然后使用该消息调用forEach()
一次,可以简化console.log
调用。
console.log
答案 1 :(得分:1)
这也是一种查找id的方法。
var id = 4;
function fetchObjById(data) {
console.log(data);
for(var i = 0; i < data.length; i++){
if(data[i].id === id) {
console.log('found');
break;
}
}
}
var myData;
fetch('https://jsonplaceholder.typicode.com/users')
.then(response => response.json())
.then(data => myData = data)
.then(() => fetchObjById(myData));
&#13;