在React本机应用程序中,我有以下提取调用:
fetch("https://facebook.github.io/react-native/movies.json")
.then(response => response.json())
.then((responseJson) => {
console.log('HI THERE')
//console.error(responseJson);
});
按原样,执行fetch调用时,.then
似乎没有执行(“ HI THERE”未打印)。但是,如果我取消注释包含console.error(responseJson);
的行,那么整个.then
就会被执行。
一个类似的问题是here,但是我不确定是不是真的发生了什么问题。同样,答案与以下事实有关:提取调用是异步的,我们不能指望它们立即执行。我遇到的问题是,提取调用根本不会执行.then
(我已经等了几分钟了好几次),直到没有注释一行并且重新加载应用程序并重新执行提取调用为止。
为什么会发生这种情况-如何解决它以便按预期执行?这是React Native的错误-可能与this一个错误有关吗?
答案 0 :(得分:1)
我已经尝试了小吃,对我来说很好用 https://snack.expo.io/@troublediehard/fetch-test-app
但是无论如何,如果import matplotlib as mpl
mpl.rc('text', usetex = True)
mpl.rc('font', family = 'serif')
import matplotlib.pyplot as plt
import numpy as np
plt.gca().set_aspect('equal', adjustable='box')
plt.style.use(['ggplot','dark_background'])
x = np.arange(-np.pi,np.pi,0.001)
y = np.sin(x)
plt.xlabel('$x$')
plt.ylabel('$y$')
plt.plot(x,y, label='$y=\sin x$')
plt.legend()
plt.show()
中没有出现某些内容,则可能失败,并且您可以在then
中找到详细信息。尝试像这样检查它
catch
答案 1 :(得分:1)
显然,问题出在我运行应用会话的方法上。我当时使用的是sudo npm start
,但是我改用了sudo exp start
来解决它。我不完全确定确切的问题是什么(但我最好的猜测是,npm start
中的某些内容会导致控制台日志一直隐藏在缓冲区中,直到记录错误为止)。