【发布时间】:2020-04-03 14:00:07
【问题描述】:
上一个问题被标记为重复,链接指向我这里:How do I return the response from an asynchronous call?。
我仍然找不到解决方案,但我想我需要 AJAX 来返回此对象,因为我的函数/GET 请求尚未完成,这导致我提出一个新问题。我该如何调整它以异步返回。我了解 Promises 和 async/await 的概念,但我不确定如何在此处实现这一点,以便可以全局访问该对象。
[原问题]
从以下函数返回对象,但我收到此错误ReferenceError: object is not defined。我想全局访问它,但由于范围似乎无法访问该对象。有什么我遗漏的吗?
设置全局变量时,这似乎没有更新。
例如在外部设置var globalObject = {}; 并在对象内部使用globalObject = object 似乎不会更改变量{}
function getTicket (ticketID) {
var urlID = contentID;
var request = require("request");
var options = {
method: 'GET',
url: `https://www.mywebsite.com/api/${urlID}/body.json`,
headers: {'content-type': 'application/json', authorization: 'Basic PASSWORD=='}
};
request(options, function (response, body) {
var obj = JSON.parse(JSON.stringify(body));
var objContent = JSON.parse(obj.body);
var object = {
id: urlID,
url: 'https://www.mywebsite.com/api/' + urlID,
value: objContent
};
console.log(object.id);
console.log(object.url);
console.log(objContent.body[0].body);
});
return object;
}
getTicket(380289);
【问题讨论】:
标签: javascript json ajax