使用Axios批处理地址解析

时间:2019-04-23 13:59:41

标签: here-api

通过节点应用程序测试HERE Batch GeoCode生命周期。我们在Azure映射方面也有类似的工作,但是它们的价格非常昂贵。

似乎初始发布请求成功。但是在状态检查期间停留在“已提交”状态。并在使用404进行结果检查期间失败。使用axius进行查询-带有记录的示例。

const getStatus = async requestId => {
    const url = statusURL(requestId);
    const res = await axios.get(url);
    const response = res.data.Response;
    return response;
};

const getResult = async requestId => {
    const url = resultURL(requestId);
    const config = { headers: { 'Content-type': 'text/plain' } };
    const res = await axios.get(url, config);
    const response = res.data.Response;
    return response;
};

const requestGeo = async input => {
    const url = requestURL;
    const res = await axios.post(url, input, {
        headers: { 'Content-type': 'text/plain' },
    });
    const requestId = res.data.Response.MetaInfo.RequestId;
    return requestId;
};

getStatus(requestId)
    .then(res => {
        console.log(res);
    })
    .catch(e => {
        console.log(e);
    });


const input = `recId|street|city|postalCode|country 
1|425 Randolph St|Chicago||USA 
2|31 St James Ave|Boston|02116|USA 
3|Invalidenstrasse 117|Berlin|10115|DEU`;

requestGeo(input)
    .then(console.log)
    .catch(e => {
        console.log(e);
    });

1 个答案:

答案 0 :(得分:1)

如果您在初始请求中未指定“&action = run”参数,则说明正在检查,存储作业并将其设置为“已提交”。这并不意味着它将被执行。

或者,您可以发送“ action = start”请求以开始作业。

应用了这两个选项之一后,该作业将被安排执行并标记为“已接受”。