每个人的承诺是什么



我不明白everyauth承诺是什么。

我知道我需要返回一个promise对象或用户,但什么是everyauth promise?

当您有一个执行身份验证但异步执行身份验证的函数时,它很有用。您不能直接从函数返回用户信息(因为您必须等待回调启动),因此您返回promise。这是一个特殊的对象,充当异步请求完成时最终将填充用户信息的"占位符"。

文档示例:

function (session, accessToken, extra, oauthUser) {
  var promise = this.Promise();
  asyncFindUser( function (err, user) {
    if (err) return promise.fail(err);
    promise.fulfill(user);
  });
  return promise;
}

这意味着调用上下文可以继续工作,直到它真正需要用户信息为止(同时,异步请求正在完成);如果用户信息还不可用,它将不得不在稍后阶段等待。您可能会将其视为线程创建和连接的一个非常具体的案例。

"Promise"是一个通用术语,涵盖了各种语言和上下文中的此类功能:

在计算机科学中,future、promise和delay是指一些并发编程语言中用于同步的结构。它们描述了一个对象,该对象充当最初未知结果的代理,通常是因为其值的计算尚未完成。

最新更新