Я использую веб-крючок для извлечения и обработки данных из API Seller.tools.
Я пытаюсь вызвать их API с помощью fetch, используя node-fetch. Когда я тестирую его в cloud9 ide, чтобы перенести его в aws -lambda, я в любом случае пытаюсь получить результат, который получился неопределенным.
На самом деле, если я попытаюсь позвонить console.log
в .then
, он даже не появится. Кроме того, он даже не выдает ошибку, за исключением случаев, когда я пытаюсь получить доступ к результату в дальнейшем.
...
var order, status;
let url='https://data.seller.tools/api/v1/orders/'+orderid;
let options={
headers:{
'Authorization':apikey
}
};
try{
fetch(url,options)
.then(res => {status=res.status;order=res.json();return res;})
.then(res => console.log(res))
.catch(err => console.error("Err"+err));
}catch(err){console.log(err)}
console.log("order: "+order);
console.log("status: "+status);
console.log(order.order_id);
...
Результат:
order: undefined
status: undefined
{"errorType":"TypeError","errorMessage":"Cannot read property 'order_id' of undefined"}
Я использовал те же URL и заголовки , в расширении talend api tester, работает как надо. но в моем коде, при запуске теста в cloud9 ide, это не так. Что происходит?