Яваскрипт Обещание node.js?

m node.js новичок и яЯ пытаюсь понять, как я могу организовать некоторую логику в неблокирующем виде, как это нравится узлу.

У меня есть набор сред ['этап','прод»] и другой набор параметров, называемых брендами ['A', 'B', 'C'] и набор устройств ['Телефон','таблетка»].

В узлемир, управляемый обратным вызовом, у меня есть это: я

brands.forEach( function(brand) {
    devices.forEach( function(device) {
        var tapeS = getTape('stage',brand,device); // bad example...tapeS never set
        var tapeP = getTape('prod' ,brand,device);
    })
} )
// more stuff here
function getTape(env,brand,device) {
   var req = http.request(someOptions,function(resp) {
       // ok, so we handle the response here, but how do I sequence this with all the other
       // responses, also happening asynchronously?
   });
}

m пытаюсь построить отчет с блоками для каждой среды:

A:
    Stage -- report
    Prod  -- report 
B:    ...

Моя проблема в том, что, поскольку все здесь так асинхронно, особенно внутри getTape, который вызывает node 'с http.request. Как я могу сериализовать все в конце всего этого асинхронного чуда, чтобы я мог создать отчет в нужном мне порядке?

Я слышал что-то о обещаниях JavaScript. Поможет ли это, то есть каким-то образом собрать все эти Обещания, затем подождать, пока они все завершат, и получить полученные данные?

Ответы на вопрос(5)

Ваш ответ на вопрос