几次成功调用后,Nodejs Node-SOAP ETIMEDOUT
Nodejs Node-SOAP ETIMEDOUT after a few successful calls
我在几次成功调用后收到 ETIMEDOUT 错误...
这是代码:
soap.createClient("./WSDL/test.wsdl", function (err, soapClient)
{
if (err)
{
throw new Error(err)
};
bpData.forEach(function (elementOfArray)
{
soapClient.service.binding.Update({
ProductUpload: {
ID: elementOfArray.ProductID,
newIndicator: 'false',
UpdateIndicator: 'true',
UpdateDate: dateFormat(new Date(), 'yyydd'),
RawData: elementOfArray.RawData1,
RawData2: elementOfArray.RawData2
}
}, function (err, result)
{
if (err)
{
console.log(err);
//throw new Error(err);
} else
{
console.log(JSON.stringify(result));
return JSON.stringify(result);
}
}
);
.....
我已经尝试设置超时参数,但没有任何改变...
谢谢!
forEach 是一个同步函数,但 soapClient.service.binding.Update 是异步函数,这意味着您可以立即对所有请求进行排队。您应该使用 async.js 或创建自己的函数来等待第一个请求完成以转到第二个请求。
谢谢大家!它现在可以使用异步队列来制作它:)!
晚上好
我在几次成功调用后收到 ETIMEDOUT 错误... 这是代码:
soap.createClient("./WSDL/test.wsdl", function (err, soapClient)
{
if (err)
{
throw new Error(err)
};
bpData.forEach(function (elementOfArray)
{
soapClient.service.binding.Update({
ProductUpload: {
ID: elementOfArray.ProductID,
newIndicator: 'false',
UpdateIndicator: 'true',
UpdateDate: dateFormat(new Date(), 'yyydd'),
RawData: elementOfArray.RawData1,
RawData2: elementOfArray.RawData2
}
}, function (err, result)
{
if (err)
{
console.log(err);
//throw new Error(err);
} else
{
console.log(JSON.stringify(result));
return JSON.stringify(result);
}
}
);
.....
我已经尝试设置超时参数,但没有任何改变...
谢谢!
forEach 是一个同步函数,但 soapClient.service.binding.Update 是异步函数,这意味着您可以立即对所有请求进行排队。您应该使用 async.js 或创建自己的函数来等待第一个请求完成以转到第二个请求。
谢谢大家!它现在可以使用异步队列来制作它:)! 晚上好