Cloud 코드상에서 Parse.Object.saveAll(Objects, { useMasterKey: true })
나 save 관련 함수 사용이 제대로 동작이 되지 않습니다. (다음으로 넘어가지 않음)
MasterKey 관련문제 같은데 { useMasterKey: true }
를 해줘도 아무 변화가 없네요.
어떻게 해결할 수 있을까요?
Cloud 코드상에서 Parse.Object.saveAll(Objects, { useMasterKey: true })
나 save 관련 함수 사용이 제대로 동작이 되지 않습니다. (다음으로 넘어가지 않음)
MasterKey 관련문제 같은데 { useMasterKey: true }
를 해줘도 아무 변화가 없네요.
어떻게 해결할 수 있을까요?
useMasterKey 는 정상적으로 넣어줬는데 다른 곳에서 에러나는거 아닐까요?
제 경우 Parse는 대부분 Promise이다 뒤에 catch를 붙이지 않아서 에러메시지를 확인 못하고 있는 경우가 많더라고요.
습관적으로 처럼 붙이고 있어요.
Parse.Object.saveAll(Objects, { useMasterKey: true }).catch(console.error)
만약 async awit으로 쓸거라면 try catch로 에러 핸들링.
const initGifts = [
{
category: 'A',
title: 'title',
status: true,
}];
const Gift = Parse.Object.extend('Gift');
let giftObjects = [];
initGifts.map(gift => {
let object = new Gift();
object.set(gift);
});
Parse.Object.saveAll(giftObjects, { useMasterKey: true })
.then(result => {
res.success();
})
.catch(error => {
console.error;
res.error(error);
});
이상하게도 아예 saveAll부터 응답이 없네요.
해결했습니다
설정에서 serverURL 경로가 문제였네요. 뒤에 /parse
부분이 붙지 않아서 발생한 일이였습니다.
엉뚱한데서 해맸네요 ㅜㅜ
parse-sever의 클라우드 펑션은 parse-server와 같은듯 다르게 핸들링되는 오묘한거라 그럴수 있습니다.
장점은 parse-server가 멀티 인스턴스 일 경우 serverURL을 로드밸런서 주소로 주면, 클라우드 펑션의 성능이 올라갑니다:
오 좋은 팁 감사합니다. 기억해놔야겠네요.