获取错误:
TypeError:apickli.Apickli不是构造函数
当我尝试在方案的下一步中再次使用Sendpostrequest.js时。
从A.js我试图调用Sendpostrequest第一步它工作正常,但当我再次使用它时我收到错误
TypeError:apickli.Apickli不是构造函数。
代码:A.js
class Grouper(object):
def _get_grouper(self, obj, validate=True):
self._set_grouper(obj)
self.grouper, exclusions, self.obj = _get_grouper(self.obj, [self.key],
axis=self.axis,
level=self.level,
sort=self.sort,
validate=validate)
return self.binner, self.grouper, self.obj
Sendpostrequest.js
Given(....
{
Sendpostrequest(obj.domain, obj.requestheader, querystring.stringify(obj.requestbody)).then
{
} //works fine
});
When(....
{
Sendpostrequest(obj.domain, obj.requestheader, querystring.stringify(obj.requestbody)).then
{
} //this one giving error
});
答案 0 :(得分:0)
类apickli
出现问题,您在第一次请求中省略了apickli
变量,您可能想尝试以下内容
'use strict';
const querystring = require('querystring');
const apickli = require('apickli');
const Sendpostrequest = (requesturl, header, body) => {
this.apickli = new apickli.Apickli('https', requesturl);
for (let key in header) {
this.apickli.addRequestHeader(key, header[key]);
}
console.log("Header -------->", header);
console.log("Url------------->", requesturl);
if (body) {
this.apickli.setRequestBody(body);
}
return new Promise((resolve, reject) => {
this.apickli.post('', function (error, response) {
if (error) {
return reject(error);
}
return resolve(response);
});
})
}
或使用其他变量名称,例如const apickliObj
而不是this.apickli
,你必须避免省略变量,但如果你仍然想省略那么包括内部函数,如下所示
'use strict';
const querystring = require('querystring');
const Sendpostrequest = (requesturl, header, body) => {
let apickli = require('apickli');
apickli = new apickli.Apickli('https', requesturl);
for (let key in header) {
apickli.addRequestHeader(key, header[key]);
}
console.log("Header -------->", header);
console.log("Url------------->", requesturl);
if (body) {
apickli.setRequestBody(body);
}
return new Promise((resolve, reject) => {
apickli.post('', function (error, response) {
if (error) {
return reject(error);
}
return resolve(response);
});
})
}
希望这有帮助!