У меня есть лямбда-функция nodejs, которая по существу запускает набор тестов в newman (JS-библиотека Postman). Тесты выполняются успешно, но когда лямбда пытается отправить сообщение в Codepipeline с помощью codepipeline.putJobSuccessResult, он продолжает бросать максимальный стек вызовов превышен. Печатный стек ошибок не кажется очень длинным (я могу просто увидеть 6 строк, напечатанных).Удар Максимальный стек вызовов превышен в лямбда-функциях
Любая помощь в том, почему трассировка стека превышает и как легко отлаживаться, поможет.
Соответствующие exports.handler
exports.handler = function(event, context) {
var jobId = event["CodePipeline.job"].id;
console.log("Triggering tests for job "+ jobId);
var putJobSuccess = function(message) {
codepipeline.putJobSuccessResult({jobId: jobId}, (err, data) => {
if (err) {
context.fail(err);
} else {
context.succeed(message)
}
});
}
var putJobFailure = function(message) {
console.log("Tests failed for job: " + jobId);
var params = {
jobId: jobId,
failureDetails: {
message: JSON.stringify(message),
type: 'JobFailed',
externalExecutionId: ""
}
}
}
var testRunnerCallback = function(response) {
if (response === 1) {
putJobFailure("Tests failed. View logs for details");
} else {
putJobSuccess("All Tests passed");
}
}
Newman.execute(collections, newmanOptions, testRunnerCallback);
}
Благодаря
http://stackoverflow.com/questions/20936486/node-js-maximum-call-stack-size-exceeded – eenagy
Пытались эти подходы. Но, к сожалению, к сожалению. – bythe4mile
, пожалуйста, вставьте свой код здесь, поэтому мы можем помочь – eenagy