Nodejs не применяет переданное ему значение идентификатора скрипта - PullRequest
0 голосов
/ 17 апреля 2020

Я пишу программу на nodejs, используя модуль запроса-обещания для создания сценария запуска, получения идентификатора сценария, затем создания сервера и применения идентификатора сценария, однако даже после сбора идентификатора сценария и его передачи на запрос на создание сервера он не распространяется. Я удостоверился, что значение переменной, которую я передаю для scriptID, находится в правильной форме типа данных, но оно все еще, кажется, не работает по какой-то причине

var scriptRequest = require('request-promise-native');
var serverRequest = require('request-promise-native');
var headers = {
    'API-Key': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
};

var scriptOptions = {
    url: "https://api.vultr.com/v1/startupscript/create",
    method: "POST",
    headers: headers,
    form: {
    name: "test script",
    script: "#!/bin/bash \napt-get update (not the actual script, just shortened it since the script itself is long and as of now the vultr server doesn't even make it this far)"}
};

var serverOptions = {
    url: 'https://api.vultr.com/v1/server/create',
    method: 'POST',
    headers: headers,
    form: {
        DCID: '6',
        VPSPLANID: '202',
        OSID: '215',
        SCRIPTID: scriptResponse
    }
}; 

var scriptResponse;

async function main(){
    const response = await scriptRequest({...scriptOptions, json:true})
    const json = response.SCRIPTID
    scriptResponse = json
    await serverRequest(serverOptions)
}

main() 

, как вы можете видеть, у меня было чтобы сделать переменную scriptRequest глобальной, если я попытаюсь установить ее в основной функции, она выдаст мне неопределенную ошибку в блоке serverOptions

EDIT: просто чтобы уточнить, идентификатор сценария, который я хочу применить к переменной scriptResponse возвращается после отправки запроса scriptRequest

...