@Sp1keazyYT

Как брать значение из одной функции image2base64 и переносить его в другую константу в Node JS?

Добрый день. Работаю с API AntiGate (AntiCaptcha). Имеется следующий код:
// http module should be installed:
// npm i http

// Params:
// your anti-captcha.com account key
var anticaptcha = require('./anticaptcha')('***');

const image2base64 = require('image-to-base64');
image2base64("https://api.vk.com/captcha.php?sid=405226711931&s=1") // you can also to use url
	.then(
		(response) => {
			console.log(response); //cGF0aC90by9maWxlLmpwZw==
		}
	)
	.catch(
		(error) => {
			console.log(error); //Exepection error....
		}
	)

// check balance first
anticaptcha.getBalance(function (err, balance) {
    if (err) {
        console.error(err);
        return;
    }

    // captcha params can be set here
    anticaptcha.setMinLength(5);

    if (balance > 0) {
        anticaptcha.createImageToTextTask({
                case: true, // or params can be set for every captcha specially
                body: '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'
            },
            function (err, taskId) {
                if (err) {
                    console.error(err);
                    return;
                }

                console.log(taskId);

                anticaptcha.getTaskSolution(taskId, function (err, taskSolution) {
                    if (err) {
                        console.error(err);
                        return;
                    }

                    console.log(taskSolution);
                });
            }
        );
    }
});

Функция image2base64 занимается кодированием изображения по ссылке в Base64 и передает в константу response.
Как сделать так, что значение этой константы не выводилось в консоль, а подставлялось в поле body на 34 строке кода.
// captcha params can be set here
    anticaptcha.setMinLength(5);

    if (balance > 0) {
        anticaptcha.createImageToTextTask({
                case: true, // or params can be set for every captcha specially
                body: ...

В поле body как раз должен быть код Base64.
Как это сделать?
  • Вопрос задан
  • 137 просмотров
Решения вопроса 1
@StockholmSyndrome
anticaptcha.getBalance(async function(err, balance) {
  // ...
  const API_URL = 'https://api.vk.com/captcha.php?sid=405226711931&s=1';
  const body = await image2base64(API_URL).catch((error) => console.log(error));
  if (balance > 0) {
    anticaptcha.createImageToTextTask({
      case: true, // or params can be set for every captcha specially
      body
    },
    // ...
  }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы