gpt4 book ai didi

javascript - 异步等待和 setTimeout 在 ReactJS 中不起作用

转载 作者:行者123 更新时间:2023-11-30 08:22:17 28 4
gpt4 key购买 nike

你可以看到我做了什么here .

import "babel-polyfill";
import React from "react";
import ReactDOM from "react-dom";

const asyncFunc = () => {
return new Promise(resolve => {
setTimeout(resolve("Gotcha!!!"), 10000);
});
};

class App extends React.Component {
state = {
text: "Fetching..."
};

componentDidMount = async () => {
const text = await asyncFunc();
this.setState({ text });
};

render() {
return <div className="App">{this.state.text}</div>;
}
}

应用应首先显示 Fetching...,然后在 10 秒后显示 Gotcha!!!。但是,它不起作用。我的错误是什么?

最佳答案

问题是:

setTimeout(resolve("Gotcha!!!"), 10000);

setTimeout 的第一个参数应该是一个函数。目前,当 setTimeout 尝试解析其参数(同步)时,您立即调用 resolve。相反,向它传递一个then 调用 resolve 的函数:

setTimeout(() => resolve("Gotcha!!!"), 10000);

setTimeout(resolve, 10000, "Gotcha!!!");

关于javascript - 异步等待和 setTimeout 在 ReactJS 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51452901/

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