2017-12-07 22 views
2

함수에서 값을 반환하는 방법 : 또한내가 <code>instanceCollection</code>의 모든 <code>documents</code>를 조회 ArangoDB 기능, <code>databasehelper.js</code> 내부가

listInstances = function listInstances() { 
    var instances = db.query(aqlQuery` 
    FOR doc in instanceCollection 
    RETURN doc 
    `).then(
     cursor => cursor.all() 
    ).then(
     result => { 
      return result; 
     } 
    ) 
    return instances; 
} 

을, 나는에 JSON 쿼리를 반영하기 위해이 기능을 사용하려면 익스프레스 API :

app.get('/', function(req, res) { 
    var allInstances = databasehelper.listInstances(); 
    res.send(allInstances); 
}); 

이 API의 결과는 빈 JSON {} 아무것도 없었다. 내 ArangoDB 쿼리의 결과를 내 Express API 호출에 반영하려면 어떻게합니까?

답변

3

약속의 작동 방식을 이해합니다. 다음은 어떻게 설계되어야하는지에 대한 아이디어입니다.

databasehelper.js =>, 약속

경로에
listInstances = function listInstances() { 
    return db.query(`some query`) 
    .then(cursor => cursor.all()) 
} 

를 돌려 => 그것은 작동

app.get('/', function(req, res) { 
    databasehelper.listInstances() 
    .then(result => { 
     res.send(result); 
    }) 
}); 
+0

약속에서 데이터를 가져! 정말 고맙습니다! –