在做任何其他事情之前等待 axios 响应
Wait for axios response before doing anything else
我的 app.js
中有以下功能:
window.SGN = require('./core/core');
SGN.importPermissions();
来自自制包裹:
define('SGN',
['axios'],
function (axios) {
var SGN = {
importPermissions: () => {
axios
.get(`/admin/users/permissions`)
.then((response) => {
window.SGN.permissions = Object.values(response.data);
})
.catch((error) => {
console.log(error);
})
.then(() => {
});
}
}
return SGN;
}
);
但是有时在 axios
请求完成之前,应用程序的其余部分是 运行,我怎样才能使应用程序始终在等待请求之前等待其他一切?
虽然这看起来像是一个重复的问题,但我还没有找到解决这个问题的任何答案。
应用程序的其余部分应该在异步请求完成时得到通知。为此,您应该 return 您创建的承诺:
var SGN = {
importPermissions: () => {
return axios
// ^^^^^^
.get(`/admin/users/permissions`)
// ...etc
应用程序的其余部分应该依赖于 SGN.importPermissions()
编写的承诺 return,因此它可能是这样的:
SGN.importPermissions().then(() => {
// Anything that depends on the request should execute here,
// or be called from here
});
我的 app.js
中有以下功能:
window.SGN = require('./core/core');
SGN.importPermissions();
来自自制包裹:
define('SGN',
['axios'],
function (axios) {
var SGN = {
importPermissions: () => {
axios
.get(`/admin/users/permissions`)
.then((response) => {
window.SGN.permissions = Object.values(response.data);
})
.catch((error) => {
console.log(error);
})
.then(() => {
});
}
}
return SGN;
}
);
但是有时在 axios
请求完成之前,应用程序的其余部分是 运行,我怎样才能使应用程序始终在等待请求之前等待其他一切?
虽然这看起来像是一个重复的问题,但我还没有找到解决这个问题的任何答案。
应用程序的其余部分应该在异步请求完成时得到通知。为此,您应该 return 您创建的承诺:
var SGN = {
importPermissions: () => {
return axios
// ^^^^^^
.get(`/admin/users/permissions`)
// ...etc
应用程序的其余部分应该依赖于 SGN.importPermissions()
编写的承诺 return,因此它可能是这样的:
SGN.importPermissions().then(() => {
// Anything that depends on the request should execute here,
// or be called from here
});