<分区>
对 javascript 有点陌生。 一直在处理 promise ,但是遇到了一个我不知道如何处理的问题。
如何将值传递给下一个 promise resolve?
这是我的代码
bot.on('ask.add_account_password', (msg) => {
let username = users[msg.from.id].username;
let password = msg.text;
var accounts = require('./inc/account.js');
accounts.login_account(username,password).then(function(data){
var account = data.params;
console.log(account);
return accounts.store(msg.from.id,username,password,account.followerCount);
}).then(function(data){
let caption = "Your account "+account.username+"("+account.fullName+")has been added\n";
return bot.sendPhoto(msg.from.id, account.picture, {caption:caption});
})
.catch(function(error){
console.log(error);
add_account(msg,error.name);
});
});
在我创建标题变量的那一行,我试图访问在它之前的 block 中创建的帐户对象 (var account = data.params) 但我收到一个引用错误,指出它未定义。现在我可以通过将整个对象发送到 accounts.store 函数并让它在完成时解析对象来轻松绕过它,但这似乎是解决更大问题的肮脏解决方法。有没有更简洁的方法来做到这一点?