Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

207
Visualizações
How to make recursive function to work in procedural order in Node.js?

I am trying to make a calendar array in Node.js. this is my main.mts:

import dayjs from 'dayjs';
import customParseFormat from 'dayjs/plugin/customParseFormat';

dayjs.extend(customParseFormat);

function nextDay(d: string) {
    const e = dayjs(d, 'MMM D, YYYY (ddd)');
    const f = dayjs(e).add(1, 'day');
    return dayjs(f).format('MMM D, YYYY (ddd)');
}

export class CalendarEdit {
    private cal: string[] = [];
    constructor(d: string) {
        this.cal.push(d);
        this.init(365).catch(err => { throw err; });
    }

    public addDate() {
        const d = this.cal[this.cal.length - 1];
        const e = nextDay(d);
        this.cal.push(e);
    }

    private init(j: number) {
        this.addDate();
        if (j > 1)
            this.init(j - 1);
    }

    public printCal() {
        console.log(this.cal);
    }
}

but result says every element in cal array is same, which has to be last day of calendar.
I know that JavaScript is basically non-blocking language, but I cannot find a way.
I tried callbacks and promises, and async, await pairs. but none of them worked.

I googled it but I cannot find a solution does work on my case. anyone knows the answer?

EDIT: I call CalendarEdit in my index.mts like this:

import { CalendarEdit } from './main';

let cal = new CalendarEdit('Jun 1, 2022 (Wed)');
cal.printCal();
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

I edited my addDate() to this and it solved error:

public addDate() {
    const d = nextDay(this.cal[this.cal.length - 1]);
    this.cal.push(d);
}
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda