提取react-native

时间:2019-05-18 15:37:13

标签: typescript api fetch

我正在使用react native来制作类似聊天的应用程序。在执行我在.NET Core API中实现的所有请求时,邮递员工作正常。但是,当我尝试从本机获取时,出现以下错误:

“ null不是对象(正在评估'blob.data')”

我试图在其他文章中研究这个问题,但没有发现任何东西

return new Promise((resolve, reject) => {
            fetch('https://localhost:44305/api/replies', {
                method: 'POST',
                headers: {
                    Accept: 'application/json',
                    'Content-Type': 'application/json',
                },
                body: JSON.stringify(qId)
            })
                .then(res => res.json())
                .then(result => resolve(result))
                .catch(err => reject(err))
        })

我正在尝试获取问题的答案列表。从邮递员那里做的很好。我找不到此错误的解决方案。

我尝试添加return,就像在获取之前在评论中提到的人一样。结果是一样的。

提前谢谢!

enter image description here

2 个答案:

答案 0 :(得分:1)

我想您的代码必须是这样的:

return fetch(
   'https://localhost:44305/api/replies', {
      method: 'POST',
      headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json',
      },
      body: JSON.stringify(qId)
    }
  )
  .then(res => res.json())
  .then(result => console.log(result))
  .catch(err => console.log(err));

您不需要创建新的承诺,因为fetch已经做到了。

注释console.log是无效的。这意味着,如果继续进行调零,则将再次发生null异常。为了解决这个问题,请在第二个代码中使用此代码,然后捕获回调方法。

console.log(result);
return result;

答案 1 :(得分:0)

已解决,问题是在虚拟设备上我无权访问localhost,所以我所做的是将IP adress从API的调试器选项更改为{ {1}}