gpt4 book ai didi

javascript - 为什么我无法访问我的函数内的属性?

转载 作者:行者123 更新时间:2023-11-30 14:17:19 24 4
gpt4 key购买 nike

<分区>

只需要在下面代码的post方法中访问baseUrl即可。这样做的正确方法是什么?如果您能向我解释为什么这不起作用,我将不胜感激。

const API = {
baseUrl: "http://my_api_address",

post: (path, payload) => {
let headers = {
Accept: "application/json",
"Content-Type": "application/json"
};

let token = localStorage.getItem("accessToken");
if (token) {
headers["Authorization"] = "Bearer " + token;
}

alert(this); // shows undefined so I can't access this.baseUrl inside this function

return fetch(this.baseUrl + path, {
method: "POST",
headers,
body: JSON.stringify(payload)
})
.then(res => {
return res.json().then(json => ({ json, res }));
})
.then(({ json, res }) => {
if (!res.ok) {
return Promise.reject(json);
}

return json;
});
}
};

根据要求:

API.post("/account/resetpassword", data)
.then(function(json) {
UI.toggleModal("#modalId");
UI.loader("hide");
UI.alert(json.success, json.message);
})
.catch(function(json) {
console.log(json);
});

如果我将 this.baseUrl 替换为“http://my_api_address”,上面的代码就可以工作,所以我认为没有任何其他问题。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com