У меня есть эта ошибка, когда я компилирую свой код в node.js, как я могу это исправить?
RefernceError: выборка не определена
Это функция, которую я выполняю, она отвечает за восстановление информации из конкретной базы данных фильмов.
function getMovieTitles(substr){
pageNumber=1;
let url = 'https://jsonmock.hackerrank.com/api/movies/search/?Title=' + substr + "&page=" + pageNumber;
fetch(url).then((resp) => resp.json()).then(function(data) {
let movies = data.data;
let totPages = data.total_pages;
let sortArray = [];
for(let i=0; i<movies.length;i++){
sortArray.push(data.data[i].Title);
}
for(let i=2; i<=totPages; i++){
let newPage = i;
let url1 = 'https://jsonmock.hackerrank.com/api/movies/search/?Title=' + substr + "&page=" + newPage;
fetch(url1).then(function(response) {
var contentType = response.headers.get("content-type");
if(contentType && contentType.indexOf("application/json") !== -1) {
return response.json().then(function(json) {
//console.log(json); //uncomment this console.log to see the JSON data.
for(let i=0; i<json.data.length;i++){
sortArray.push(json.data[i].Title);
}
if(i==totPages)console.log(sortArray.sort());
});
} else {
console.log("Oops, we haven't got JSON!");
}
});
}
})
.catch(function(error) {
console.log(error);
});
}
javascript
node.js
jasa1704
источник
источник
fetch
это не стандартный метод nodejs - вам нужноnode-fetch
fetch()
был разработан для браузера и затем перенесен обратно в node.js в стороннем модуле, который, по-видимому, отсутствует. Библиотекаrequest()
orrequest-promise()
более встроена для node.js и поддерживает гораздо более широкий диапазон опций для node.js, включая потоки, методы аутентификации zillion и т. Д.Ответы:
Выборки API не реализован в узле.
Для этого вам нужно использовать внешний модуль, например, node-fetch .
Установите его в своем приложении Node, как это
затем поместите строку внизу вверху файлов, где вы используете API выборки:
источник
var
изменчив, я бы порекомендовалconst
использовать его вместо этого ...Если это должно быть доступно с глобальной областью действия
Это быстрое грязное исправление, попробуйте исключить использование в рабочем коде.
источник
fetch
и автоматически заполнять доступные методы. Договорились, что этого следует избегать в производстве, но очень полезно для местного разработчика!Вы можете использовать перекрестную выборку от @lquixada
устанавливать
использование
С обещаниями:
С асинхронным ожиданием:
источник
ReferenceError: fetch is not defined
ошибки отamazon-cognito-identity-js
.Для тех, кто также использует машинопись на node-js и получает
ReferenceError: fetch is not defined
ошибкуnpm install
эти пакеты:Затем включите:
источник
amazon-cognito-identity-js
не имеет отношения к этому вопросу и не требует установки для устранения этой ошибки. Это также не относится к машинописи.Вы должны использовать
isomorphic-fetch
модуль для вашегоNode
проекта, потому чтоNode
еще не содержитFetch API
. для решения этой проблемы выполните следующую команду:После установки используйте код ниже в вашем проекте:
Надеюсь, этот ответ поможет вам.
источник
Лучший из них - библиотека Axios для загрузки. используйте
npm i --save axios
для установки и используйте его как fetch, просто напишите axios вместо fetch, а затем получите ответ в then () .источник
Node.js не реализовал метод fetch (), но вы можете использовать один из внешних модулей этой фантастической среды выполнения для JavaScript.
В одном из приведенных выше ответов цитируется "node-fetch", и это хороший выбор.
В папке вашего проекта (в каталоге, где у вас есть скрипты .js) установите этот модуль с помощью команды:
нпм я нод-выборка - сохранить
Затем используйте его как константу в скрипте, который вы хотите выполнить с Node.js, примерно так:
const fetch = require ("node-fetch");
источник
Это связанная проблема GitHub. Эта ошибка связана с версией 2.0.0, вы можете решить ее, просто обновив до версии 2.1.0. Вы можете запустить
npm i graphql-request@2.1.0-next.1
источник
В Node.js 12.x у меня работает следующее:
чтобы инициализировать экземпляр Dropbox:
например, загрузить контент (в этом случае используется асинхронный метод):
источник