Я создаю помощника в IBM Watson. Помощник передает некоторую информацию веб-действию, которое вызывает https API и извлекает данные обратно помощнику в формате JSON.
Похоже, что веб-действие только работает, и время от времени появляется сообщение "ошибка: действие не выдало действительный ответ и неожиданно завершилось". всплывает. Не ясно, когда или что вызывает ошибку. Вызов одного и того же действия несколько раз в течение нескольких секунд приводит к случайному появлению сообщения об ошибке (я ничего не менял в действии или коде между вызовами). Когда ошибки нет, код работает безупречно и дает ожидаемый ответ.
Вот компактный код:
function main(msg){
const https = require('https');
var reqUrl = https URL;
return new Promise(function(resolve, reject) {
https.get(reqUrl, (responseFromAPI) => {
responseFromAPI.on('data', (chunk) => {
completeResponse += chunk;
let movie_info = JSON.parse(completeResponse);
movie_info = movie_info.results[0];
console.log(movie_info);
resolve({movie_info});
})
responseFromAPI.on('error', (error) => {
console.log(error);
reject(error);
});
});
});
}
Журнал ошибок следует:
[
«2019-06-06T14: 35: 32.697875Z stderr: не определено: 1»,
"2019-06-06T14: 35: 32.697909Z stderr: {\" page \ ": 1, \" total_results \ ": 76, \" total_pages \ ": 4, \" results \ ": [{\" voice_count \ ": 39, \" id \ ": 541560, \" video \ ": false, \" voice_average \ ": 5, \" title \ ": \" Ветер \ ", \" популярность \ ": 37.299, \ "poster_path \": \ "\ / kcfPHZHSQODLCWdkUVLYATNyEVo.jpg \", \ "original_language \": \ "en \", \ "original_title \": \ "Ветер \", \ "genre_ids \": [27,37 , 53], \ "background_path \": \ "\ / bqi6QBbXmkBar98HJJKEV1HFx71.jpg \", \ "adult \": false, \ "Overview \": \ "Сверхъестественный триллер на западной границе конца 1800-х годов, The Звезды ветра Кейтлин Джерард как женщина-равнина, сведенная с ума жестокостью и изоляцией необузданной земли. \ ", \" Release_date \ ": \" 2019-06-06 \ "}, {\" voice_count \ ": 2832, \ "id \": 353491, \ "video \": false, \ "voice_average \": 5.6, \ "title \": \ "Темная башня \", \ "популярность \": 18.474, \ "poster_path \" ": \" \ / i9GUSgddIqrroubiLsvvMRYyRy0.jpg \ ", \" original_language \ ": \" en \ ", \" original_title \ ": \" Темная башня \ ", \" genre_ids \ ": [28,14,878,37 , 27], \ "backdrop_path \": \ "\ / pVVobDO8cezhVPvwD6EBUN0g3mt.jpg \", \ "для взрослых \ ": false, \" Overview \ ": \" Последний стрелок, Роланд Дешейн, был заключен в вечную битву с Уолтером О'Димом, также известным как ",
"2019-06-06T14: 35: 32.697914Z stderr:",
«2019-06-06T14: 35: 32.697951Z stderr: SyntaxError: Неожиданный конец ввода JSON»,
"2019-06-06T14: 35: 32.697955Z stderr: at JSON.parse ()",
"2019-06-06T14: 35: 32.697959Z stderr: at IncomingMessage.responseFromAPI.on (eval at NodeActionRunner.init (/nodejsAction/runner.js:79:45),: 10: 38)",
"2019-06-06T14: 35: 32.697963Z stderr: at IncomingMessage.emit (events.js: 189: 13)",
"2019-06-06T14: 35: 32.697968Z stderr: at IncomingMessage.Readable.read (_stream_readable.js: 487: 10)",
«2019-06-06T14: 35: 32.697972Z stderr: at flow (_stream_readable.js: 931: 34)»,
"2019-06-06T14: 35: 32.697976Z stderr: at resume_ (_stream_readable.js: 912: 3)",
«2019-06-06T14: 35: 32.697980Z stderr: at process._tickCallback (internal / process / next_tick.js: 63: 19)»,
"неизвестно неизвестно: при сборе журналов возникла проблема. Возможно, отсутствуют данные."
]
movie_info - это список фильмов и данных, поэтому код подбирает данные только в позиции [0] (здесь фильм «Ветер»).
Я связался с хостами API, и они сказали, что API работает отлично, поэтому проблема может быть связана с самим веб-действием.
Любая помощь приветствуется.