Почему вложенная асинхромат/ожидание не ждет?Javascript

Форум по Javascript
Ответить
Anonymous
 Почему вложенная асинхромат/ожидание не ждет?

Сообщение Anonymous »

Я прочитал много документов и смотрю кучу видео, и я просто не могу заставить это работать. Рабочий процесс - это: < /p>

Получить http -запрос < /li>
Запрос обрабатывается с помощью асинхронной функции. < /Li>
Эта функция должна вызвать еще две асинхронные функции в порядке SEQ. Но это не так ждать. Мой Линтер показывает мне, что сообщение «ожидание» не влияет на тип этого выражения ». как для CreateVM, так и для ControlVM. Я использую Nodejs/Express. Я просто опубликую скелет кода. Это должно быть что -то действительно простое, но я просто не вижу.const add = async (req, res) => {
// destructure the request body
const { username, uid } = req.body;

// create vm via proxmox api
try {
await createVM(username, pveName, uid);
await controlVM("start", pveName, uid);
return res.status(200).json({
success: true,
});
} catch (e) {
errorLog("vmCont", "add", e.message, req, "error");
return res.status(500).json({
success: false,
error: e.message,
});
}
};
< /code>
Вот функция CreateVM: < /p>
const createVM = async (username, pveName, uid) => {
try {
const myConfig = {
url: `/api2/json/nodes/temppve/qemu/10000/clone`,
method: "post",
baseURL: `${process.env.PROXMOX_apiurl}`,
headers: {
Authorization: `PVEAPIToken=${process.env.PROXMOX_apikey}`,
"Content-Type": "application/json",
},
data: {
newid: uid,
description: `Server for ${username}`,
full: 1,
name: username,
storage: "local-lvm",
target: pveName,
},
httpsAgent: new https.Agent({ rejectUnauthorized: false }),
};

await axios(myConfig);
return;
} catch (e) {
errorLog("proxmox", "createVM", e.message, false, "error");
throw new Error(e.message);
}
};
< /code>
ControlVM должен стрелять после создания виртуальной машины: < /p>
const controlVM = async (action, node, vmid) => {
let myConfig = {
method: "post",
maxBodyLength: Infinity,
baseURL: `${process.env.PROXMOX_apiurl}`,
url: `/api2/json/nodes/${node}/qemu/${vmid}/status/${action}`,
headers: {
Authorization: `PVEAPIToken=${process.env.PROXMOX_apikey}`,
},
data: "",
httpsAgent: new https.Agent({ rejectUnauthorized: false }),
};

try {
await axios(myConfig);
return;
} catch (e) {
errorLog("proxmox", "controlVM", e.message, false, "error");
throw new Error(e.message);
}
};


Подробнее здесь: https://stackoverflow.com/questions/794 ... ot-waiting
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»