У меня есть функция Azure, определенная в JS
module.exports = async function (context, req) {
if (req.query.name || (req.body && req.body.name)) {
// generate mock result
const mockChecker = new mockCheckBuild();
const result = await mockChecker.runAsync();
context.res = {
body: result
};
}
else {
context.res = {
status: 400,
body: "Please pass a name on the query string or in the request body"
};
}
context.done();
};
function mockCheckBuild() {
this.statuses = ['Failed', 'Complete'];
this.branchId = 808;
this.buildNumbers = ['0.1.1.1023', '0.1.1.1024', '0.1.1.1025'];
this.runAsync = async function() {
return new Promise(resolve =>
setTimeout(() =>
resolve({
branchId: this.branchId,
latestBuild: this.statuses.randomElement(),
buildStatus: this.buildNumbers.randomElement()
})
, 2000)
);
};
return this;
}
Array.prototype.randomElement = function()
{
const index = Math.floor(Math.random() * this.length);
return this[index];
};
, через который я прошел через множество валидаторов синтаксиса, которые подтверждают правильность JavaScript. Также отмечу, что подсветка синтаксиса Azure выделяет такие слова, как async
и const
.
Однако, когда я запускаю его, я получаю
"Исключение при выполнении функции: Functions.CheckLatestBuild -> One
или произошло больше ошибок. ->
D: \ главная \ сайт \ Wwwroot \ CheckLatestBuild \ index.js: 1 \ п (функция
(export, require, module, __filename, __dirname) {module.exports =
асинхронная функция (context, req) {\ n
^^^^^^^^ \ n \ nSyntaxError: Неожиданная функция токена \ n в
createScript (vm.js: 56: 10) \ n в Object.runInThisContext
(vm.js: 97: 10) \ n в модуле ._
Есть идеи, почему? Или какой-нибудь совет, как лучше расследовать?