I'm pretty new to JavaScript and node.js and so being thrown into Promises is pretty daunting when it is required for my bot to function.
var storedUserID;
ROBLOX.getIdFromUsername(accountArg).then(function(userID) {
message.reply("your id is " + userID);
storedUserID = userID;
});
message.reply(storedUserID);
This is essentially what I have written out, it creates a variable called 'storedUserID' which I would like to update later. I am trying to update it in the Promise but it does not seem to work.
In the code, there is message.reply("your id is " + userID); which works as expected. It will print out to a user 'your id is [NUMBER]' so I know userID is not null.
However, when I run message.reply(storedUserID); outside of the Promise, nothing is printed as the variable is not saved. I am not sure why.
Any help would be appreciated as this is going towards my work in college!
Thank you!
Answer
return
the value at function passed to .then()
var storedUserID = ROBLOX.getIdFromUsername(accountArg)
.then(function(userID) {
return userID;
});
you can then use or change the Promise
value when necessary
storedUserID = storedUserID.then(id) {
return /* change value of Promise `storedUserID` here */
});
access and pass the value to message.reply()
within .then()
storedUserID.then(function(id) {
message.reply(id);
});
or
var storedUserID = ROBLOX.getIdFromUsername(accountArg);
// later in code
storedUserID.then(function(id) {
message.reply(id);
});
No comments:
Post a Comment