javascript - 即使在使用 'then' 之后,Fetch 也会返回 promise 而不是实际数据

标签 javascript react-native fetch-api react-android

<分区>

我正在我的组件中进行一个简单的获取调用,它看起来像这样

    var x = fetch(SOME_URL, SOME_POST_DATA)
             .then((response) => response.json())
             .then((responseJSON) => {return responseJSON});

    console.log(x);

调用成功执行,但控制台打印了一个 promise 而不是数据。我在这里缺少什么?

最佳答案

promises 的工作方式意味着您需要处理 responseJSON inside then() 的处理程序。由于请求的异步性质,外部代码在 promise 解析时已经返回。

一开始可能很难理解,但这与“传统”AJAX 请求非常相似 - 您在回调中处理响应。

举个例子:

var x = fetch(SOME_URL, SOME_POST_DATA)
    .then((response) => response.json())
    .then((responseJSON) => {
       // do stuff with responseJSON here...
       console.log(responseJSON);
    });

更多阅读:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

关于javascript - 即使在使用 'then' 之后,Fetch 也会返回 promise 而不是实际数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39021870/

相关文章:

javascript - Next.js getInitialProps - 动态路由在生产中不起作用

javascript - 通过 GET URL 加载 Bootstrap nav nav-tabs

javascript - 如何通过ajax fetch API响应将从laravel Controller 接收到的数据发送到另一个页面

android - 获取 API 无法加载文件 :///android_asset/www/xx/xxx. json。不支持 URL 方案 "file"

javascript - 如何从 API 获取结果并将其存储为全局变量?

javascript - 有什么办法可以避免 for 循环? (ES6/JavaScript)

javascript - 当用户单击弹出窗口外部以关闭它时返回滚动条

ios - React-Native:如何在真实的 iOS 设备上使用 "Remote JS Debugger"?

reactjs - ReactElement 类型转换

css - 将 react-native-popup-menu MenuOptions 右对齐