내 코드에서 실제로 이상한 일이 발생했습니다. 함수에 값을 전달하고 있습니다. 그러나 그 함수 안에는 값이 null이고 왜 그 값을 해석 할 수 없습니다. 나는 적절한 가치와 null을 기대하고 있었다. 내가 AdwordsService.isKeywordsCampaign 내가 campaign.customerId의 값이 정의되어 있음을 알 수 전화문자열 값이 호출 된 함수 내에서 null이 됨
function validateCampaingKeywords(req){
return function(campaign){
return AdwordsService
.isKeywordsCampaign(campaign.customerId,req.user.googleRefreshToken)
.then((isKeywordsCapaign) =>{
return {revert:!isKeywordsCapaign}
});
}
}
"1624183869"하지만 내가 느릅 나무 값을 확인할 때 validateCampaingKeywords 기능 내부
호출 된 함수 내부에 있으므로 정의되지 않습니다.export function isKeywordsCampaign(accountId,customerRefreshToken){
let lastWeekDate = new Date();
lastWeekDate.setDate(lastWeekDate.getDate() - 7);
return getCampaingsRawData(accountId,customerRefreshToken,lastWeekDate)
.then(campaignReportToCampaignDataConverter.convert).then((totalSpentValue) => {
return totalSpentValue > 0;
});
}
나에게 이상한 부분
지금 온다. 호출 된 함수 안에 있고 인수 [0]의 값이 무엇인지 확인하면 올바른 값을 갖습니다.이 여기에 그냥 주어진 캠페인을 찾아서 업데이트, 내 컨트롤러 내에서 호출 첫 번째 기능입니다.
// Upserts the given Campaign in the DB at the specified ID
export function upsert(req, res) {
if(req.body._id) {
delete req.body._id;
}
return Campaign.findOneAndUpdate({_id: req.params.id}, req.body, {new: true, upsert: true, setDefaultsOnInsert: true, runValidators: true}).exec()
.then(validateCampaingKeywords(req))
.then(respondWithResult(res))
.catch(handleError(res));
}
왜 이런 일이 일어나는 지 알고 계십니까?
확실히 이상합니다. 어떤 의미를 가질 수있는 유일한 방법은 'accountId'의 두 가지 모양이 일치하지 않는 것입니다. 즉, 인쇄상의 오류입니다. 그러나 그럴 수는 없다. 좋은 측정을 위해 재 입력하거나 복사/붙여 넣기를 시도하십시오. –