Azure Portal에서 Easy Table의 스크립트를 수정하고 있으며 수정 된 스크립트 내에서 클라이언트에 응답을 올바르게 반환하는 방법을 파악하는 데 문제가 있습니다. 지금이 모든 괜찮Azure의 비동기 Easy Table 스크립트
function getUserHeader(context) {
return context.req.headers['user-id'];
}
table.insert(function (context) {
context.item._user_id = getUserHeader(context);
return context.execute();
});
: 이것은 그냥 간단한 예로서 노드 패키지 azure-mobile-apps
을 사용하고, 이제 내가 그렇게처럼의 '삽입'기능을 수정 한 테이블을 가지고 가정 해 봅시다 테이블에있는 항목이 올바른 _user_id 및 모든 것으로 끝납니다.
하지만 어떤 이유에서든 getUserHeader
을 비동기로 설정하고 약속을 반환해야합니다 (컨텍스트를 실행하기 전에 관련 테이블에서 토큰을 확인하거나 무언가를 확인하려고합니다). context.execute
실행 않으며, 기록은 올바른 _user_id으로 생성됩니까 :
function getUserHeader(context) {
return new Promise(function(resolve, reject){
resolve(context.req.headers['user-id']);
});
}
table.insert(function (context) {
getUserHeader(context)
.then(function(uid) {
context.item._user_id = uid;
return context.execute();
})
});
은 이제 한 단계에서 작동 다음은 위의 코드가 비동기 어떻게 보이는지입니다. 그러나 클라이언트가 만든 http 호출은 절대로 응답을 얻지 못합니다. 일반적으로 http 응답은 테이블 (삽입의 경우)에 추가 된 항목을 반환하지만 여기에는 표시되지 않습니다.
간편한 테이블 스크립트의 워크 플로에 비동기 기능을 추가하는 적절한 방법은 무엇입니까?
. 나는 그것을 시도하는 것을 생각했다, 나는 벌써 가지고있다라고 생각했다. 그러나 나는 다시 시험 할 것이다. – TKoL