Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 在浏览器端使用React使用异步调用获取数据有什么好处?_Reactjs_Asynchronous_Fetch Api - Fatal编程技术网

Reactjs 在浏览器端使用React使用异步调用获取数据有什么好处?

Reactjs 在浏览器端使用React使用异步调用获取数据有什么好处?,reactjs,asynchronous,fetch-api,Reactjs,Asynchronous,Fetch Api,当然,在浏览器中优化使用线程的想法是好的,但根据我的经验,当我们使用React时,我们有两个选择: 使用像redux/saga这样的中间层 使用异步调用实现useffect,如 因此,我的问题是,在获取数据时浏览器中没有阻塞线程有什么好处?如果在获取数据时阻塞页面(即,发出同步请求并阻塞浏览器线程),用户将看到屏幕冻结。无论哪种方式,您提到的两种方法都使用异步调用来获取数据,因此它们在这方面是相似的。优点是您使用唯一合法的方法来获取数据,这就是异步。同步XHR请求已过时。 useEffect

当然,在浏览器中优化使用线程的想法是好的,但根据我的经验,当我们使用React时,我们有两个选择:

  • 使用像redux/saga这样的中间层
  • 使用异步调用实现useffect,如

因此,我的问题是,在获取数据时浏览器中没有阻塞线程有什么好处?如果在获取数据时阻塞页面(即,发出同步请求并阻塞浏览器线程),用户将看到屏幕冻结。无论哪种方式,您提到的两种方法都使用异步调用来获取数据,因此它们在这方面是相似的。优点是您使用唯一合法的方法来获取数据,这就是异步。同步XHR请求已过时。
useEffect(() => {

        const fetchJobs = async () => {

            if ((jobs.length === 0)) {

                let data;

                if (isRecruiter) {
                    data = await getJobOffersCreatedByRecruiter(token, () => dispatch(jobListLoadingError));
                }
                else {
                    data = await getJobOffers(token, () => dispatch(jobListLoadingError));
                }

                if (typeof data !== "undefined" && data.status !== 401) {

                    const json = await data.json();

                    dispatch(jobListLoaded(json));
                }
                else {
                    dispatch(jobListLoadingError);
                    dispatch(loginRequired);
                }

            }
        }

        fetchJobs();

    }, [dispatch, jobOffersLoadingError, jobs, token, isRecruiter])

```
 

So, my question is, what is the advantage of no blocking thread in the browser when fetching data?