#javascript
Вопрос:
я работаю над небольшим приложением для выставления счетов, используя electronjs и pouchdb
, я хочу найти начальный баланс на каждый день на основе выбора даты при вводе
если нет данных на конкретную дату, я хочу найти данные по предыдущим датам
я попытался рекурсивным способом, но это не сработало
// getting date value on change
var TodayDate = document.getElementById('daybook-firstdate').value;
// onchange function
function getday(TodayDate){
daybook.find({
selector: {
Date:TodayDate ,
}
}).then(function(result) {
var opening_balance = 0
//chenking the data is present in the selected date
if(result.docs.length>0){
result.docs.forEach((element, ) => {
saletotal = (isNaN(element.TotalAmount) ? 0: parseInt(element.TotalAmount));
Totalinvest = (isNaN(element.TotalInvestment) ? 0: parseInt(element.TotalInvestment));
Totalexp = (isNaN(element.TotalExpenses) ? 0: parseInt(element.TotalExpenses));
opening_balance =saletotal Totalinvest-Totalexp
console.log(opening_balance)
});
}
// if there is no data on particular date subtracting one day from date from date and calling the
//get day function with yesterday value as parameter to check if the data is present in previos date
else{
let d = new Date(TodayDate);
d.setDate(d.getDate() - 1);
var yesterdaydate = d.toISOString().split('T')[0];
getday(yesterdaydate)
}
});
}
//selecting the date
<input type="date" name="daybook" id="daybook-firstdate" onchange="getday()" >
я хочу выполнить поиск до тех пор, пока в предыдущей дате не появятся данные с выбранной даты
. кто-нибудь поможет мне с кодом
Комментарии:
1. Вероятно, вам следует включить
daybook
в свой вопрос пример объекта, чтобы мы могли воспроизвести проблему.2. добавлен объект дневник для вашей справки
3.
onchange
запускает асинхронную функцию, но не ожидает ее. Кроме того, вы ничего не возвращаетеgetday
. Попробуйте добавить оператор return доdaybook.find
и вызовgetday
в предложение else.4. при добавлении возвращайтесь до дневника. найдите,как будет выполняться дневник, найдите, можете ли вы помочь мне с кодом