У меня есть N рабочих пространств. Число N является динамическим c.
Каждое рабочее пространство должно выполнять несколько предопределенных запросов.
В настоящее время я выполняю цикл по массиву рабочих пространств (Synchronously
) и выполнение всех запросов с использованием Promise.all()
(то есть asynchronous
).
Цель : мне нужно выполнить все запросы для всех рабочих пространств асинхронно. Поэтому я хочу избавиться от l oop до go через каждое рабочее пространство. Идеальным результатом был бы массив массивов. Например, если имеется 3 рабочих пространства и 2 запроса, результатом будет [[q1, q2], [q1,q2], [q1,q2]]
каждое q1, а q2 - результаты для каждого рабочего пространства.
Ниже приведен пример кода:
async function fetchingWorkspaceLogs (workspaceId) {
// Defining q1QueryString, q2QueryString so on...
// for azure "loganalytics" reader.
const [q1Result, q2Result, q3Result] = await Promise.all([
logAnalyticsReader.query(
q1QueryString,
workspaceId
),
logAnalyticsReader.query(
q2QueryString,
workspaceId
),
])
// return some promises
}
// Parse all workspaces for query
for (let j = 0; j < workspaceIdList.length; j++) {
workspaceId = workspaceIdList[j]
const queryResults = await fetchingWorkspaceLogs(workspaceId)
q1QueryResults = queryResults[0]
q2QueryResults = queryResults[1]
}
Как я могу создать еще один объект обещания, чтобы сделать его asyn c?
Не стесняйтесь спрашивать, нужно ли вам что-нибудь еще, чтобы получить больше ясности.