не удалось отправить более одного файла в Git-хаб через nodejs - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь отправить большее количество файлов на github через node-rest-client в узле js.Я вызываю обещания для каждого файла, и каждое обещание будет вызывать одного http-клиента для отправки файла на github.Но я вижу, что только два файла отправляются и нет статуса о других файлах.

Код для отправки нескольких файлов с помощью обещаний

return await Promise.all(dataToSend.map(file => {
                    return new Promise((resolve, reject) => {
                        let fileName = repoName+"/" +file.filename;
                        let fileData = file.filedata;
                        let contenttype = file.contenttype;

                        salesforceToGit.sendDataToGIt(fileName, fileData, contenttype, commitMsg, "metadata", function (data, response) {
                            resolve(data);
                        });
                    });

                }));

И API для отправки файла в GIT hub

function sendDataToGIt(filename, filedata, contenttype, commitMsg, repoName, callback) {
    var buff = new Buffer.from(filedata);
    var base64data = buff.toString('base64');
    contenttype = "application/json";
    var dataObj = {
        "message": commitMsg,
        "content": base64data
    };
    var agrs = {
        data: dataObj,
        headers: {
            'Content-Type': contenttype,
            'Authorization': '******************',
            'User-Agent': 'adadasd'
        }
    };
    try{
    let gitHubUrl = "https://api.github.com/repos/REPO/" + repoName + "/contents/" + filename;
    console.log("sending api request URL : " + gitHubUrl);
    client.put(gitHubUrl,agrs,function(data,response){
        if(response.statusCode === 201 || response.statusCode === 200){
            console.log("file created in Git : " + data.content.path);
            callback(data,response);
        }else{
            console.log("Error occured : " + filename);
        }
    });

}catch(err){
    throw new Error('Error in sendDataToGIt : ' + err);
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...