이것은 일반적인 JS 질문이며 edge.js에만 해당되는 질문이 아닙니다. edge.js를 통해 SQL Server 액세스를 사용하고 싶었습니다. 어떻게 logResult
보다는 그 함수 내부의 데이터를 사용하여 결과를 반환 할 수MSSQL에 액세스하는 edge.js func에서 데이터를 반환하는 방법은 무엇입니까?
var edge = require('edge');
var _ = require('lodash');
var thingsAccess = function() {/*
select * from Things where Status = 'A' and [email protected]
*/};
var getThingsList = edge.func('sql', thingsAccess);
var logResult = function (error, result) {
if (error) throw error;
_.each(result, function (thing) {
console.log(thing.Id, thing.Category, thing.Name);
});
};
var thingsOfType = function (type) {
return function() {
getThingsList({ thingType: type }, logResult);
};
};
var xThings = thingsOfType('X');
var yThings = thingsOfType('Y');
xThings();
yThings();
내 질문은 :
var edge = require('edge');
var getTop10Products = edge.func('sql', function() {/*
select top 10 * from Products
*/});
getTop10Products(null, function (error, result) {
if (error) throw error;
console.log(result);
console.log(result[0].ProductName);
console.log(result[1].ReorderLevel);
});
the following snippet from its GitHub site을 바탕으로 나는 내 자신의 데이터베이스에 액세스하려면 다음을 썼다? 콘솔에 이제 로그하는 _.each(result, ...)
구조 대신, 나는 Thing 개체의 배열을 반환하는 return _.map(result, ...)
과 같은 것을 사용하고 싶습니다. 그러나이 함수는 getThingsList에 대한 콜백이므로 결과를 넣을 곳이 없습니다.
코드를 어떻게 구성했는지 알아 내 유일한 옵션은 배열을 외부 범위에 선언하고 내부에서 밀어 넣는 것입니다. logResult
. 내가 잘못하고 있다고 확신하지만 구조 조정 방법을 알 수는 없다. 어떤 제안?
감사 @metadings을 A에 대한 명확하고 포괄적 인 대답. printAllThingsOf의 정의 끝에서 빗나간 오른쪽 괄호를 제거했습니다. –