Ich habe ein Modul mit meiner Methode, Daten asynchron mit Axios abzurufen.Wie bekomme ich Promise Rückgabeobjekt von asynchronen Funktion in einem anderen Modul
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 }
ich dieses Modul in meine Komponentenmodul am Import A.js
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
ich meine Asynchrone Methodenaufruf innerhalb des Netzwerks siehe Registerkarte , kann aber die Antwort nicht trösten, mache ich alles falsch oder was?
Nicht definiert in der Konsole, dh entweder Daten fehlen oder der Aufruf von console.log ist synchron.
Also, um alles zusammenzufassen Wie asynchron Daten von einer anderen asynchronen Funktion innerhalb einer anderen Moduldatei mit nativen Verheißungsmethode erhalten.
'callAPI' gibt nichts zurück. Es sollte 'return axios ...' sein und einfach 'getData() {return Services.callAPI (...); } '. –
Wenn Sie um Hilfe bitten, sollten Sie sich die Zeit nehmen, den Code mit konsistenten, einigermaßen standardmäßigen Einrückungen und Zeilenumbrüchen zu formatieren, damit die Benutzer Ihnen leichter helfen können. –
gehen durch $ q in angularjs – Mohammed