我有一个主要课程
class test extends Component
我创建了一个用于呈现登录页面的组件
var PageLogin = React.createClass({
所以在我render
的{{1}}方法中我可以做
test
此登录类使用触发return (
<View>
<PageLogin></PageLogin>
</View>
)
组件的login
方法的表单。 PageLogin
方法使用简单的login
将数据发布到服务器。
fetch
所以从表单提交按钮我做
login: function (values) {
AsyncStorage.getItem('@test:app_access_token', (error, token) => {
fetch(Config.BASE_URI + Config.LOGIN_URI, {//omitted})
.then((response) => response.json())
.then((responseData) => {
return responseData;
})
.done();
});
},
但是当我调试var response = this.login(values);
时,它是response
答案 0 :(得分:3)
您的登录请求会触发异步请求,因此您无法使用var response = this.login(values);
尝试将您的代码更改为:
login: function (values) {
return new Promise((resolve) => {
AsyncStorage.getItem('@test:app_access_token', (error, token) => {
fetch(Config.BASE_URI + Config.LOGIN_URI, {//omitted})
.then((response) => response.json())
.then((responseData) => {
resolve(responseData);
});
});
});
},
this.login(values).then((res)=>{
var response = res;
});