Используйте асинхронность. Если добавить к функции приставку
async, то внутри такой функции можно делать остановки для того, чтобы дождаться результатов работы другой асинхроной функции. jQuery функция ajax, может работать асинхронно, а значит можно сделать банально вот так:
async function test() {
var out = ''
for (var n = 0; n < links.length; n++) {
var result = await $.ajax({ url: links[n], data: { 'id': 1 } });
// И далее делаем что-нибудь с result, внутри него будет результат запроса
}
}
test(); // Запускаем функцию test
Обращаю внимание, это просто пример. Приставка await говорит, что надо дождутся выполнения запроса справа, записать результат запроса в переменную result и только потом продолжить выполнять кода дальше.