gpt4 book ai didi

javascript - 执行 fetch 后调用方法

转载 作者:行者123 更新时间:2023-11-30 09:25:13 28 4
gpt4 key购买 nike

我正在发出返回字符串数组的提取请求。

fetch(linkFetch)
.then(resp => resp.json())
.then(arr => {
that.setState({
images: arr
});
})
.then(this.test());

在最后一行你可以看到我尝试调用方法 test() 它只是试图访问在 fetch() 请求中设置的状态.

test(){
console.log(this.state.images[1]);
}

控制台日志“未定义”

但是,如果我将 test() 分配给按钮或其他东西,以便我可以手动调用它,它工作正常,这让我相信当我调用 .then(this.test ()); 在获取请求中,它实际上是在设置状态之前被调用的。

如何确保在提取请求中设置状态后调用它?

最佳答案

您传递给 then 的参数必须是一个函数

您正在调用 this.test 立即(即在异步函数解析之前)并传递其返回值(undefined没有 return 语句)。

您已经在代码的上一行中找到了如何正确执行此操作的示例。

fetch(linkFetch)
.then(resp => resp.json())
.then(arr => {
that.setState({
images: arr
});
})
.then(() => {
this.test();
});

关于javascript - 执行 fetch 后调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49430522/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com