以下是我的反應代碼,我希望首先執行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