等待解决没有参数的承诺的函数

Awaiting function that resolves a promise with no arguments

我有一个函数可以在不传递任何参数的情况下解析 Promise:

const checkUser = (user)=> {
    let promise = Parse.Promise();

    if(user.success){
        promise.resolve();
    } else {
        promise.reject("Error");
    }
}

问题是,在我阅读的所有教程中,它们都将返回值分配给一个变量,如下所示:

let response = await checkUser(user);

在上述情况下,我是否可以只等待承诺而不将结果分配给变量,或者不推荐这样做?例如:

...
await checkUser(user);
...

是的,你完全可以做到。 JavaScript 仍会等待 promise 解决。

这里是对MDN's first example for await的修改。它没有 return 一个值,但仍在 运行 await 之后的代码之前等待 Promise 解析。

function resolveAfter2Seconds() { 
  return new Promise(resolve => {
    setTimeout(resolve, 2000);
  });
}

(async function() {
  console.log(1)
  await resolveAfter2Seconds();
  console.log(2);
})()

我认为不兑现承诺是一种不好的做法,因为这是获得结果的适当渠道。如果你不想得到结果,你为什么要调用一个函数呢?不过,这可能主要适用于函数式编程。

Can I just await the promise without assigning the result to a variable or this is not recommended?

是的,你完全可以做到。如果你不需要对结果做任何事情——比如当你知道它总是 undefined - 那么你可以忽略它。