Я сделал рекурсивную функцию в Nodejs, которая в обещании. Предполагается, что он будет рекурсивно запросить сервер, и он имеет два условия. Если он заканчивается из максимального количества серверов, он вернет ошибку и уйдет. Эта часть работает нормально. Вторая часть заключается в том, что если она получит ответ, который содержит «истинную», то она будет успешной и должна выйти и вернуть ответ. Выходная часть работает нормально, и она останавливается, как только получает ответ с «true», но она не возвращает ее. переменные Tensordock для сохранения места. < /p>
Я сделал рекурсивную функцию в Nodejs, которая в обещании. Предполагается, что он будет рекурсивно запросить сервер, и он имеет два условия. Если он заканчивается из максимального количества серверов, он вернет ошибку и уйдет. Эта часть работает нормально. Вторая часть заключается в том, что если она получит ответ, который содержит «истинную», то она будет успешной и должна выйти и вернуть ответ. Выходная часть работает нормально, и она останавливается, как только получает ответ с «true», но она не возвращает ее. переменные Tensordock для сохранения места. < /p> [code]function getPorts(getPortsInputTensordockServer) { return new Promise((resolve, reject) => { try { request(getPortsInputTensordockServer, (error, response, getPortsResponseBody) => { getPortsResponseBody = JSON.stringify(getPortsResponseBody) getPortsResponseBody = getPortsResponseBody.split("[") getPortsResponseBody = getPortsResponseBody[1] getPortsResponseBody = getPortsResponseBody.split("]") getPortsResponseBody = getPortsResponseBody[0] getPortsResponseBody = getPortsResponseBody.split(",") return resolve(getPortsResponseBody) }) } catch (err) { reject(err) } }) }
function createVM(n, createVMResponseBody) { return new Promise((resolve, reject) => { (async () => { try { if (createVMResponseBody.includes("true") === true) { return resolve(createVMResponseBody) } if (n === 21) { return resolve("oh no! no more servers") } var tensordockServer = eval("tensordockServer" + n) var tensordockServerName = tensordockServerMap.get("tensordockServerName" + n) var getPortsResult = await getPorts(tensordockServer)