Я делаю POST-запрос к веб-сервису.Код для запроса POST хранится в отдельной функции. Вызов функции из моей функции-намерения во внешнюю функцию является асинхронным. Так что я использую Promises для достижения синхронности. Проблема здесь заключается в том, что когда я импортирую request-promise-native
внутри моей строкиредактор выдает ошибку как TypeError: Cannot read property 'prototype' of undefined
.
Но когда я попробовал это на моей локальной рабочей станции с версией js узла 9.11.1
, она работала нормально. Версия Node JS в DialogFlow - >=6.0
.к нему нужно добавить другую зависимость?
Кто-нибудь может объяснить, почему это происходит?
ОБНОВЛЕНИЕ: Я изменил механизм узла на 6.14.3
и зависимость для модуля’quest-обещания-native 'в package.json как "request-promise-native":"v1.0.5"
. Но все равно не повезло. Ниже приведен мой код:
var doco;
var rp = require('request-promise-native');
var myJSONObject = {
"inputs" : [ {
"name" : "<name>",
"value" : <value>
} ]
};
var orchName = 'TEST05';
postData = JSON.stringify(myJSONObject);
return networkCall(postData,orchName).then((response)=>{
console.log('response is'+response)
console.log("+++++++++++++=DOCO=+++++++++ "+response);
doco = doco1;
//agent.add(`Order number is ${doco1}`);
}).catch((response) => {
console.log(`ERROR: `+response);
});
console.log('doco'+doco);
function networkCall(postData, orchName) {
return new Promise((resolve,reject) =>{
var options = {
method: 'post',
uri: '<URL>',
body: myJSONObject,
auth: {
'user': 'usr',
'pass': 'pwd'
},
json: true
};
return rp( options )
.then( body => {
// var test = JSON.stringify(body)
var doco =body.ServiceRequest1.subforms.z_DOCO_137.value;
console.log('DOCO '+doco);
resolve( doco );
})
.catch( err => {
console.log('FAILED'+err);
reject( err );
});
});
}
Ошибка выдается при развертывании кода в встроенном редакторе. Ошибка:
The deployment of your Cloud Function failed:
Function load error: Code in file index.js can't be loaded.
Is there a syntax error in your code?
Detailed stack trace: TypeError: Cannot read property 'prototype' of undefined
at module.exports (/user_code/node_modules/request-promise-native/node_modules/request-promise-core/configure/request2.js:34:47)
at Object.<anonymous> (/user_code/node_modules/request-promise-native/lib/rp.js:15:1)
at Module._compile (module.js:577:32)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
at Module.require (module.js:504:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/user_code/index.js:17:23)