1
Axiosを使用してデータを非同期にフェッチする方法があるモジュールがあります。他のモジュールでプロミス関数を非同期関数から返す方法
services.js
import axios from 'axios';
class Services {
static callAPI(params) {
var headers = {
'Accept': 'application/json'
}
axios({
method:'get',
url: params.url,
headers: headers
})
.then(function(response) {
return response;
});
}}export { Services }
私はネットワークタブの内側に私の非同期メソッド呼び出しを参照してください
A.js
class Modules extends Component {
componentDidMount(){
this.getData().then(function(response){
console.log(response);
});
}
getData(){
var prom = new Promise(function (resolve, reject) {
resolve(Services.callAPI({url: Paths.localAPIPath() + '/module',accept: 'application/json'}));
});
return prom;
}
render() {
return (
<p></p>
)
}}export default Modules
A.js私部品モジュールにこのモジュールをインポートしています、しかし、応答をコンソールすることはできません、私はそれをすべて間違ってやっている?
コンソール内で未定義になると、データがないか、console.logの呼び出しが同期していることを意味します。
ネイティブなプロミスメソッドを使用して別のモジュールファイル内の別の非同期関数からデータを非同期的に取得する方法。
'callAPI'は何も返しません。それは 'return axios ...'であり、 'getData(){return Services.callAPI(...)でなければなりません。 } '。 –
助けを求めるときは、一貫性があり、合理的に標準的な字下げや改行を使用してコードを書式設定して、人々があなたを助けやすいようにしてください。 –
angularjsで$ qを実行する – Mohammed