我有这个功能是从Javascript(浏览器)呼吁:
STDMETHODIMP CActivexObject::WriteToREST(BSTR data, BSTR* retstr)
{
std::string sdata = ConvertToString(data);
RESTClient restclient;
RESTClient::response resp = restclient.post("somewhere.com", "/post", sdata);
CComBSTR bstrResult(resp.body.c_str());
*retstr = bstrResult.Detach();
return S_OK;
}
这种方法是从JavaScript这样叫:
for (var i = 0; i < rowElems.length; i++) {
var resp = ActivexObject.WriteToREST(_rowToData(rowElems[i]));
}
该功能工作正常,除非调用REST或服务器获取速度慢,和JavaScript(浏览器),即Internet Explorer以显示“没有响应”错误框。 然后浏览器关闭。 如果我删除了“后”呼叫,只要登录数据中,有这样的没有这样的错误。
有时WriteToREST
被称为两次或三次。
可能是什么这是一个可能的解决方案,我可以用C ++代码做什么呢?