使用React Native返回fetch()undefined
问题描述:
我正在创建一个登录脚本,该脚本应该将responseData返回给调用类。问题是,我一直不明确的返回结果。如果我控制台记录responseData它显示正常。我注意到的一件事是,未定义有时出现在控制台中的控制台日志responseData之前。使用React Native返回fetch()undefined
module.exports = {
loginUser: function(emailAddress = "", password = "") {
var url= "URL_HERE";
console.log(url);
fetch(url, {method: "GET"})
.then((response) => response.json())
.then((responseData) =>
{
console.log(responseData);
return responseData;
})
.done(() => {
});
},
otherMethod: function() {}
}
这里的函数是如何调用
var dataLogin = require('../../data/login.js');
var result = dataLogin.loginUser(this.state.formInputEmail, this.state.formInputPassword);
答
我怀疑你的意思是loginUser的返回值()的一个例子。它不会返回任何东西。这是传递给.then()的内部lambda返回的内容。
尝试恢复从loginUser()整个取-承诺,然后用loginUser作为一个承诺:
...
return fetch(...
...
loginUser().then(responseData => useResponseDataForSomething(responseData)
的[我如何返回从一个异步调用的响应?]可能的复制(HTTPS:/ /stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) –
将回调方法传递给loginUser方法,并在获取响应时调用该方法。 –