Я делаю вызов API из функции javascript, которая правильно возвращает ответ JSON.Но при переходе через ответ JSON я получаю предупреждение об устаревании, а также сообщение об ошибке в Function.createFromInputFallback (line.js line: 320), когда я попадаю в строку с moment().isSameOrBefore
.Я довольно новичок в javascript и особенно в пакетах для Node.
По сути, я хотел бы установить, какой прогнозируемый прилив является ближайшим к текущему времени, когда эта функция выполняется.Это правильный способ использования параметра moment().isSameOrBefore
и / или я должен изменить код, чтобы сделать это по-другому?
Вот JSON:
{ "predictions" : [ {"t":"2018-06-08 03:06", "v":"3.795", "type":"H"},{"t":"2018-06-08 09:25", "v":"0.443", "type":"L"},{"t":"2018-06-08 15:51", "v":"3.884", "type":"H"},{"t":"2018-06-08 22:01", "v":"0.778", "type":"L"} ]}
Вот моя функция:
const getTide = require('./modules/getTide.js');
var moment = require('moment');
async function testMod() {
await getTide.getQuote().then(function(value){
const parsedData = JSON.parse(value);
let text = " ";
// This loop steps through the JSON response row by row to test the data
var i;
for (i = 0; i < parsedData.predictions.length; i++) {
text += 'Record #' + i + ' = ' + parsedData.predictions[i].t + " " + parsedData.predictions[i].v + " " + parsedData.predictions[i].type + " - ";
let curDateTime = moment().format('LLL');
let theDate = moment(parsedData.predictions[i].t).format('LLL');
let fromNow = moment(parsedData.predictions[i].t).fromNow();
if (parsedData.predictions[i].type === "H") {
console.log('High tide for ' + parsedData.predictions[i].t + ', at ' + parsedData.predictions[i].v + ' vertical Feet. ');
if (moment(theDate).isSameOrBefore(curDateTime)) {
console.log('It is currently ' + curDateTime + ' and that high tide was ' + fromNow);
} else {
console.log('It is currently ' + curDateTime + ' and that high tide is ' + fromNow + ' from now!');
}
} else {
console.log('Low tide for ' + parsedData.predictions[i].t + ', at ' + parsedData.predictions[i].v + ' vertical Feet. ');
if (moment(theDate).isSameOrBefore(curDateTime)) {
console.log('It is currently ' + curDateTime + ' and that low tide was ' + fromNow);
} else {
console.log('It is currently ' + curDateTime + ' and that low tide is ' + fromNow + ' from now!');
}
}
}
}, function(error){
console.log("problem");
});
}
testMod();