0

我有代码:

var client = new Client();
var args = {
    data: { 
        "filters": {
            "uuid": "11111",
            "period": "2018-03-18T00:00:00-05:00/2018-03-21T00:00:00-05:00"
          }
    },
    headers: { 
    "Content-Type": "application/json",
    "Api-User": "myusername",
    "Api-Key": "myapikey"
    }    
};

client.post("https://myAPIenpoint/", args, function (data, response) {
values = JSON.parse(JSON.stringify(data)).id;
console.log(values);
});

console.log(values);

第一个控制台日志返回正确的值,但第二个返回 ReferenceError: values is not defined

如何在 client.post 之外获取值?我知道我可能遗漏了一些简单的东西?

4

1 回答 1

0

我不知道我的解决方案是否会帮助你,但我有这样的事情:

var EventEmitter = require('events').EventEmitter;
var body = new EventEmitter();

client.post("https://myAPIenpoint/", args, function (data, response) {
    values = JSON.parse(JSON.stringify(data)).id;
    body.data = data;
    body.emit('val');
});

在client.post之外:

 body.on('val', () => {
    let yourDataOutsidePost = body.data;
    console.log(yourDataOutsidePost);
})

我希望它会有所帮助。

于 2018-07-27T07:24:54.547 回答