【发布时间】:2021-10-26 13:21:44
【问题描述】:
我想访问从 fetch 属性内的外部函数返回的值。 该值正在被注销,但我需要在 'title' 属性中获取 fetch 中的值。如果这是一个无关紧要的问题,请原谅,我是新手。需要解决方案或替代方案。
button.addEventListener('click', (e) => {
function editTodo(e) {
function filterID() {
Array.from(todoItem).filter((item) => {
if (item.getAttribute('id') == todoID) {
console.log(item.innerHTML);
return item.innerHTML;
}
});
} //<<value is being logged out
fetch(`${url}/${id}`, {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
title: filterID(), //<<need to access here
}),
})
.then((res) => {
setMessage('Updated');
return res.json();
})
.catch((error) => console.log(error));
}
})
【问题讨论】:
-
你没有对
filter创建的数组做任何事情,所以return item.innerHTML;毫无意义——返回的值放在你从不使用的数组中。 (传统函数从不隐含return,并且在您的filterID函数中没有return,只有filter回调。)我完全不清楚您需要或想要filter。todoItem是什么? -
它是一个 html 元素数组,我正在返回与 if 条件匹配的元素的 innerHTML。有没有办法可以改进它,以便可以在外部访问该值?跨度>
-
你永远不会打电话给
editTodo。
标签: javascript function filter scope fetch