Javascript 返回并存储异步函数的结果

Javascript 返回并存储异步函数的结果,javascript,async-await,Javascript,Async Await,我有一个加密函数,但当我返回结果时,它返回一个名为PromiseState和PromiserResult的对象。我只想保存或返回PromiseResult的值,并将其保存到一个变量中。我如何才能做到这一点?(对不起,我的业余问题。我是编程新手) 函数名前的“async”一词表示它总是返回promise。如果您想获得该值,可以使用以下代码之一 encrypt(password, masterpass).then(data => { console.log(data);// data is

我有一个加密函数,但当我返回结果时,它返回一个名为PromiseState和PromiserResult的对象。我只想保存或返回PromiseResult的值,并将其保存到一个变量中。我如何才能做到这一点?(对不起,我的业余问题。我是编程新手)

函数名前的“async”一词表示它总是返回promise。如果您想获得该值,可以使用以下代码之一

encrypt(password, masterpass).then(data => {
 console.log(data);// data is nothing but the value.
});


//OR
let data = await encrypt(password, masterpass);
console.log(data);

您不能期望将来可用的值现在可用。所以你最终总是会得到一个未来价值的承诺。您需要坚持异步编码模式。因此,
encrypt
的调用者也应该使用
wait
then
回调。@trincot我这样称呼它:websitecdentials.password=encrypt(websitecdentials.password,websitecdentials.masterpass);当我想保存连接时,它将承诺保存到其中。请你说得更具体一点,就像我说的:你不能期望结果是
.password
,因为这只在以后才可用。您必须将
=
替换为
=await
,但必须将主代码包装在
异步
函数中,否则必须链接
。然后((password=>{websitecdentials.password=password;})
…等等。
encrypt(password, masterpass).then(data => {
 console.log(data);// data is nothing but the value.
});


//OR
let data = await encrypt(password, masterpass);
console.log(data);