以下是我的反应代码,我希望首先执行ajax代码,然后执行其余的代码。等待在React中完成ajax请求?
在控制台预期输出:
内部AJAX
外AJAX
在控制台电流输出:
外AJAX
内部AJAX
import React from 'react';
import request from 'superagent'
const UserItems =() => {
request.get('http://localhost:4000/user/1/items.json')
.then((res, err) => {
if (err) {
console.log("errror found")
}
var data = JSON.parse(res.text)
console.log("inside ajax")
console.log(data)
})
console.log("outside ajax")
console.log(data)
};
export default UserItems;
任何建议!
如果你想阻止一些代码执行,除非和直到ajax请求完成处理,否则把这个代码(不管在外面)放在'then()'中。否则,'console.log(“outside”)'将始终执行,因为'then()'中的代码只会在收到响应后才执行。 –
@SangeethSudheer:早些时候我做了这个,但它给了我错误,说明 'Warning:UserItems(...):必须返回一个有效的React元素(或null)。你可能已经返回undefined,一个数组或其他无效的对象。' – ashwintastic