nested bucles asincrónicamente en Node.js, el siguiente bucle debe comenzar solo después de que se complete uno

Compruebe el algoritmo debajo ...

users = getAllUsers();
for(i=0;i<users.length;i++)
{
    contacts = getContactsOfUser(users[i].userId);
    contactslength = contacts.length;
    for(j=o;j<contactsLength;j++)
    {
         phones = getPhonesOfContacts(contacts[j].contactId);
         contacts[j].phones = phones;
    }
    users[i].contacts = contacts;
}

return users;

Quiero desarrollar la misma lógica usando node.js.

He intentado usar async conforeach yconcat yforeachseries funciones. Pero todos fallan en el segundo nivel.

ientras el puntero obtiene contactos de un usuario, un valor dei aumenta y el proceso está comenzando para los próximos usuarios. @ No está esperando el proceso de completar contactos y teléfonos para un usuario. y solo después de eso comenzando el siguiente usuario. Quiero lograr esto.

En realidad, quiero que los usuarios se opongan con

Significa que todas las secuencias se están arruinando, ¿alguien puede darme una idea general de cómo puedo lograr tal proceso en serie? Estoy abierto a cambiar mi algoritmo también.

Respuestas a la pregunta(4)

Su respuesta a la pregunta