Javascript 将已解析承诺的值传递到变量中

Javascript 将已解析承诺的值传递到变量中,javascript,node.js,Javascript,Node.js,我正在使用node.js,因为这是我第一次使用javascript和异步编程,所以事情进展得相当艰难。所以我有一段代码,它输出一个已解决承诺的结果: promise.then(函数(结果){ console.log(结果) }); //输出结果 它按预期工作,但我不需要控制台中的结果,我需要将其传递到某个变量中,以便以后可以使用。像这样: promise.then(函数(结果){ //魔力 }); //也许再加些魔法 console.log(myvar) //输出结果 有没有办法做到这一点?

我正在使用node.js,因为这是我第一次使用javascript和异步编程,所以事情进展得相当艰难。所以我有一段代码,它输出一个已解决承诺的结果:

promise.then(函数(结果){
console.log(结果)
});
//输出结果
它按预期工作,但我不需要控制台中的结果,我需要将其传递到某个变量中,以便以后可以使用。像这样:

promise.then(函数(结果){
//魔力
});
//也许再加些魔法
console.log(myvar)
//输出结果

有没有办法做到这一点?先谢谢你。请原谅我的语法,英语不是我的母语。

如果您使用的是Node.js版本8或更高版本,您可以使用
async/wait
基本上等待承诺值:

async function foo() {
  try {
    const result = await someFunctionReturningPromise();
    console.log(result); // log when the promise is resolved
  } catch(err) {
    console.error(err); // error when the promise is rejected
  }
}

您可以使用
解析
拒绝
从函数返回
承诺
值,然后使用
然后
对该值执行任何操作

函数abc(){
返回新承诺((解决、拒绝)=>{
返回解析([1,2,3])
});
}
abc().then(函数(数据){
console.log(数据)
})