如何记录来自提取API的响应

时间:2019-06-08 07:57:27

标签: javascript promise request fetch response

我正在使用Promise记录来自api的响应。但是每次身体以null登录时。很有可能是由于异步调用

用于从提取中调用api。

import pandas as pd

df = pd.read_csv('svp3.csv')

tmp = df[df.depth <= df.depth.shift(-1)].values
depth_increase = tmp[:,0]
speed_while_depth_increase = tmp[:,1]

tmp = df[df.depth > df.depth.shift(-1)].values
depth_decrease = tmp[:,0]
speed_while_depth_decrease = tmp[:,1]

我希望控制台中api的响应

1 个答案:

答案 0 :(得分:2)

fetch()已经返回了Promise,因此摆脱了new Promise(...)部分

function getDetails(url) {
    return fetch(...).then(...);
}

fetch()返回Response object,而不是已经为您解析的内容。您必须对其调用.json()才能获得JSON.parse()解析的响应。

function getDetails(url) {
    return fetch(url, {mode: 'no-cors'}).then(response => response.json());
}

这应该已经可以工作,但是在您的设置中会抛出语法错误:

  

SyntaxError:JSON.parse:JSON数据第1行第1列的数据意外结束

要解决此问题,请删除mode: 'no-cors'

将所有内容加在一起将为我们提供:

function getDetails(url) {
    return fetch(url).then(response => response.json());
}

var u = "https://get.geojs.io/v1/ip/country.json";
getDetails(u).then(function(data) {
    console.log(data);
})