Гость
Форумы / Серверный JavaScript (Node.js, Ringo, Nitro, Sling) [игнор отключен] [закрыт для гостей] / синхронные запросы к Postgres / 5 сообщений из 5, страница 1 из 1
02.02.2014, 09:33
    #38546254
PsychoPM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронные запросы к Postgres
есть такой код, надо чтобы два запроса сработали вместе и результаты записались в переменную giveback
ковырял модуль async, нихрена не получилось

вот код:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
var giveback = {};                                                                          
                                                                                            
// Car category                                                                             
var query = db.query("QUERY 1");
                                                                                            
query.on('row',function(row,result){                                                        
    result.addRow(row);                                                                     
});                                                                                         
                                                                                            
query.on('end',function(result){                                                            
    giveback.carCategory = result.rows;                                                     
    console.log('query 1 completed');                                                       
});                                                                             
                                                                                            
if(req.param('id_car') && isNumber(req.param('id_car')))                                    
{                                                                                           
    var query2 = db.query("QUERY 2");
                                                                                            
    query2.on('row',function(row,result){                                                   
        result.addRow(row);                                                                 
    });                                                                                     
                                                                                            
    query2.on('end',function(result){                                                       
        giveback.car = result.rows;                                                         
        console.log('query 2 completed');                                                   
    });                                                                                     
}                                                                                           
                                                                                            
db.on('drain', function() {                                                                 
    console.log(giveback.car);                                                              
});                                                                                         
                                                                                            
res.writeHead("200", {"Content-Type": "application/json"});                                 
res.end(JSON.stringify(giveback));                                                          



вот результат работы

query 1 completed
undefined
query 2 completed


а нужно чтобы было
query 1 completed
query 2 completed
undefined - но вместо undefined результат не запроса сработавшего на опережение, а двух запросов.



как добиться?
...
Рейтинг: 0 / 0
04.02.2014, 01:26
    #38547946
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронные запросы к Postgres
PsychoPM,

синхронно они в любом случае не выполнятся, а вот асинхронно - тут полно вариантов и sync и Q и deffereds
...
Рейтинг: 0 / 0
04.02.2014, 01:28
    #38547947
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронные запросы к Postgres
PsychoPM,

Какую библиотеку доступа к Postgres используете?
...
Рейтинг: 0 / 0
15.02.2014, 02:32
    #38561687
PsychoPM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронные запросы к Postgres
node-postgres
...
Рейтинг: 0 / 0
25.02.2014, 00:12
    #38571024
sp
sp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
синхронные запросы к Postgres
PsychoPM,

для версии 9.4 собираются выпустить фирменный драйвер от команды ПЖ для Node.js
...
Рейтинг: 0 / 0
Форумы / Серверный JavaScript (Node.js, Ringo, Nitro, Sling) [игнор отключен] [закрыт для гостей] / синхронные запросы к Postgres / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]