Ich stehe vor einem seltsamen Problem. Ich definiere eine Variable in meinem Code, benutze sie um einen Anruf zu machen und lass es dann so. Wenn ich versuche, es später erneut zu verwenden, wird die Variable geändert - wahrscheinlich serialisiert. Wie kann ich es in der ursprünglichen Form zurückbekommen?Definierte Variable, die in node.js geändert wird
Hier ist mein Code.
const restler = require('restler');
var baas_host = 'hostname';
var baas_app = 'appname';
var access_options = {
data: {
grant_type: 'client_credentials',
client_id: 'id',
client_secret: 'secret'
}
}
// Get an access_token
var access_token;
getAccessToken(function (data_token) {
access_token = data_token;
});
function getAccessToken(cb) {
//****Here is where I see different results****//
console.log("access_options::", access_options);
restler.post(baas_host+'/'+baas_app+'/token', access_options).on('complete', function (data, response) {
cb(data.access_token);
});
};
// Refresh if access token expired
function refreshAccessToken() {
console.log("refreshAccessToken called.");
// Call getAccessToken again
getAccessToken(function (data_token) {
access_token = data_token;
});
}
Wenn ich versuche, später wieder access_options
im refreshAccessToken()
Anruf wieder zu verwenden, hier ist das, was ich in der zweiten Iteration als der Wert von access_options
{ data: <Buffer 67 72 61 6e 74 ... >,
method: 'POST',
parser:
{ [Function: auto]
matchers:
{ 'application/json': [Function: json],
'application/yaml': [Function],
'application/xml': [Object] } },
followRedirects: true }
Bitte helfen Sie mir zu verstehen, gedruckt sehen werden, was passiert hinter den Kulissen?