pub async fn run(
        self,
        ctx: &ExtensionContext<'_>,
        info: ResolveInfo<'_>,
    ) -> ServerResult<Option<Value>> {
        if let Some((first, next)) = self.chain.split_first() {
            first
                .resolve(
                    ctx,
                    info,
                    NextResolve {
                        chain: next,
                        resolve_fut: self.resolve_fut,
                    },
                )
                .await
        } else {
            self.resolve_fut.await
        }
    }
/// Call the [Extension::resolve] function of next extension.
Call the [Extension::resolve] function of next extension.
Call the [ Extension :: resolve ] function of next extension .
pub async fn run(
        self,
        ctx: &ExtensionContext<'_>,
        info: ResolveInfo<'_>,
    ) -> ServerResult<Option<Value>> {
        if let Some((first, next)) = self.chain.split_first() {
            first
                .resolve(
                    ctx,
                    info,
                    NextResolve {
                        chain: next,
                        resolve_fut: self.resolve_fut,
                    },
                )
                .await
        } else {
            self.resolve_fut.await
        }
    }
pub async fn run ( self , ctx : & ExtensionContext < ' _ > , info : ResolveInfo < ' _ > , ) -> ServerResult < Option < Value > > { if let Some ( ( first , next ) ) = self . chain . split_first ( ) { first . resolve ( ctx , info , NextResolve { chain : next , resolve_fut : self . resolve_fut , } , ) . await } else { self . resolve_fut . await } }
Call the [Extension::resolve] function of next extension.
Call the [ Extension :: resolve ] function of next extension .
self
ctx
&ExtensionContext<'_>
info
ResolveInfo<'_>
self
ctx
&ExtensionContext<'_>
info
ResolveInfo<'_>