reactjs - 如何在 fetch 中正确编写 lambda 表达式

标签 reactjs fetch-api

我在 react.js 项目中有简单的获取:

export function getUserById(id) {
    const requestOptions = {
        method: 'GET',
        headers: { 'Content-Type': 'application/json','Access-Control-Allow-Origin':'http://localhost:9000' },
        mode: 'no-cors',
    };
    var res = fetch("http://localhost:9000/user/"+id);//there should be a lot of strange lambdas..
    return res;
}
我在其他文件中使用这个函数:
var user = getUserById(userStr);
//some code
//more code

var email=user.mail;
var id = user.id;
不幸的是- res永远是 promise 。我不觉得函数式编程和 react ,但我需要这样做。我知道应该有一些 lambda 表达式,但我不知道如何编写它们。如您所见,我需要从返回的 JSON 中获取电子邮件和 ID。
提前致谢。

最佳答案

您需要await获取调用。
this example on MDN .

export async function getUserById(id) {
    const requestOptions = {
        method: 'GET',
        headers: { 'Content-Type': 'application/json','Access-Control-Allow-Origin':'http://localhost:9000' },
        mode: 'no-cors',
    };
    var res = fetch("http://localhost:9000/user/"+id);//there should be a lot of strange lambdas..
    return res;
}


var user = await getUserById(userStr);
//some code
//more code

var email=user.mail;
var id = user.id;
编辑:您不需要 await fetch 调用,你只需要 await getUserById(userStr) .

关于reactjs - 如何在 fetch 中正确编写 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68968900/

相关文章:

reactjs - Jest - 映射一系列项目并测试它们的值

javascript - react native 自定义表单验证

reactjs - spring boot jsp页面中如何导入react组件

javascript - Axios 返回垃圾值

javascript - 如何监听所有的 fetch API 调用?

javascript - 使用 fetch 时请求正文为空

reactjs - Material UI 输入与选择对齐

reactjs - 检查 `ConnectedField`的渲染方法

javascript - 在 ramda 中使用 fetch api

javascript - Nextjs API 文件夹调用 - 生产中出现 500 错误