#javascript #node.js #electron
#javascript #node.js #электрон
Вопрос:
Я все еще новичок в electron, но у меня есть проблема, которую я не могу решить. Запрос не отправляется ни на один веб-сайт. Я использую компьютер с Windows 10 (x64) для создания своего проекта.
Я хотел сохранить тело (html) в массив, который будет вызван обратно в index.html досье. Обратный вызов работает нормально. Он был протестирован.
Вот код для файла .js
function data( callback){
var content = [];
var request = require('request');
request('https://www.google.com', function (error, response, body) {
if(error){
content.push('Error:', error);
}
if(response.statusCode !== 200){
content.push('Invalid Status Code Returned:', response.statusCode);
}
content.push(body);
callback(content);
});
}
module.exports = data;
В html-файле я вызываю data
var data require('./data.js')
data function(content){
alert(content);
}
Если я чего-то не понимаю, пожалуйста, дайте мне совет по этому поводу.
Комментарии:
1. Ваш второй блок кода не имеет смысла и не является законным Javasscript. Также, когда вы говорите «не работает», вам нужно описать как желаемое поведение, так и наблюдаемое поведение, чтобы мы знали, чего вы ожидаете от кода, и вы могли сообщить нам, каково текущее и нежелательное поведение. В противном случае этот вопрос не по теме и неясен и будет закрыт.
2. моя цель — получить Google html в массив, а затем вызвать его в index.html досье. Я допустил ошибку с «data =»…. Если есть что-то еще, чего мне не хватает, пожалуйста, укажите. Я все еще новичок
Ответ №1:
Ваш второй блок содержимого, предполагающий, что его javascript должен быть:
var data = require("./data.js");
data(function(content){
alert(content);
});
Когда вы объявляете переменную, вы присваиваете ей значение, используя знак «=».
Вызов функции выполняется путем ввода имени функции и завершения его символом «()». Внутри «()» вы можете передавать параметры функции, которые в вашем случае являются обратным вызовом.
Комментарии:
1. Я допустил ошибку с «=» …… функция вызывается с параметром обратного вызова. единственное, чего я пытаюсь добиться, это получить Google html в массиве. Если я чего-то не понимаю, пожалуйста, объясните……
2. Как сказал @jfriend00, второй фрагмент кода, который вы предоставили, не является допустимым javascript. В вашем коде вы не вызываете данные и не передаете обратный вызов. Пожалуйста, убедитесь, что вы изменили свой код точно так, как указано в ответе выше.
3. Код — это JavaScript. Я вызвал его в index.html досье. первый блок кода находится в «data.js «досье. если я что-то делаю неправильно, пожалуйста, укажите. Спасибо