여러 SQL 쿼리를 실행하려고합니다.node.js에서 여러 MSSQL 쿼리 실행
문제는 변수가 node.js가 사용하는 fire-and-forget 때문에 범위를 벗어납니다. C#에서 await
키워드와 비슷한 작업을 수행하기 위해 노력하고 있습니다.
여기 내 깨진 코드입니다. 이는 내가 달성하기 위해 노력하고 무엇에 관해서는 명확하게해야합니다
function getTopicsForMessages(request, results)
{
//Get topics for this message
var queryString = "SELECT ripple_messenger.TopicTypes.name, ripple_messenger.TopicTypes.imageUri";
queryString += " FROM ripple_messenger.MessageTopics JOIN ripple_messenger.TopicTypes";
queryString += " ON (ripple_messenger.MessageTopics.topicId = ripple_messenger.TopicTypes.id)";
queryString += " WHERE messageId = ?";
for (var i = 0; i < results.length; i++)
{
mssql.query(queryString, [results[i].id],
{
success: function (topicsResults)
{
results[i].topics = topicsResults;
},
error: function (err) {
console.error("SQL Read error: " + err);
request.respond(statusCodes.INTERNAL_SERVER_ERROR, "SQL Query failed on read");
}
});
}
//Continue... once all queries have executed successfully.
}
을 나는이 그냥 아주 일을하는 노드 방법을 모르고의 문제라고 생각합니다.
나는 await 키워드와 비슷한 것을 허용하는 Node.js에 대한 몇 가지 패키지/옵션에 대해 읽었지만 Azure Mobile Services를 사용함에 따라 이들을 사용할 수 있는지 확실하지 않습니다.
나는이 쿼리를 SQL에서 더 잘 할 수 있다고 확신한다. 그러나 다시, 나는 어떻게 확신이 들지 않습니다. 사전에
많은 감사,
대니
당신이 사용 약속 패턴을 사용하려면 : http://stackoverflow.com/questions/17351494/promises-pattern-in-node-js-libraries-to-use를 – Populus
당신은 명시 적 사용하고 있습니까? – Dalorzo