renderAsyncComponent() — vue Function Reference
Architecture documentation for the renderAsyncComponent() function in render.ts from the vue codebase.
Entity Profile
Dependency Diagram
graph TD 3b5f9da3_66f1_f97c_0fd0_c444c70ce9d5["renderAsyncComponent()"] 439dcf36_0570_3186_196e_91c09d6d3ea6["render.ts"] 3b5f9da3_66f1_f97c_0fd0_c444c70ce9d5 -->|defined in| 439dcf36_0570_3186_196e_91c09d6d3ea6 51b378bf_731a_cea8_7ade_1275c8da637e["renderNode()"] 51b378bf_731a_cea8_7ade_1275c8da637e -->|calls| 3b5f9da3_66f1_f97c_0fd0_c444c70ce9d5 76fb6501_9238_f973_a09b_d816dccd3853["renderComponent()"] 3b5f9da3_66f1_f97c_0fd0_c444c70ce9d5 -->|calls| 76fb6501_9238_f973_a09b_d816dccd3853 51b378bf_731a_cea8_7ade_1275c8da637e["renderNode()"] 3b5f9da3_66f1_f97c_0fd0_c444c70ce9d5 -->|calls| 51b378bf_731a_cea8_7ade_1275c8da637e c25d0df8_742c_b09a_17fa_f3481184c969["next()"] 3b5f9da3_66f1_f97c_0fd0_c444c70ce9d5 -->|calls| c25d0df8_742c_b09a_17fa_f3481184c969 style 3b5f9da3_66f1_f97c_0fd0_c444c70ce9d5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/server-renderer/src/render.ts lines 222–285
function renderAsyncComponent(node, isRoot, context) {
const factory = node.asyncFactory
const resolve = comp => {
if (comp.__esModule && comp.default) {
comp = comp.default
}
const { data, children, tag } = node.asyncMeta
const nodeContext = node.asyncMeta.context
const resolvedNode: any = createComponent(
comp,
data,
nodeContext,
children,
tag
)
if (resolvedNode) {
if (resolvedNode.componentOptions) {
// normal component
renderComponent(resolvedNode, isRoot, context)
} else if (!Array.isArray(resolvedNode)) {
// single return node from functional component
renderNode(resolvedNode, isRoot, context)
} else {
// multiple return nodes from functional component
context.renderStates.push({
type: 'Fragment',
children: resolvedNode,
rendered: 0,
total: resolvedNode.length
})
context.next()
}
} else {
// invalid component, but this does not throw on the client
// so render empty comment node
context.write(`<!---->`, context.next)
}
}
if (factory.resolved) {
resolve(factory.resolved)
return
}
const reject = context.done
let res
try {
res = factory(resolve, reject)
} catch (e: any) {
reject(e)
}
if (res) {
if (typeof res.then === 'function') {
res.then(resolve, reject).catch(reject)
} else {
// new syntax in 2.3
const comp = res.component
if (comp && typeof comp.then === 'function') {
comp.then(resolve, reject).catch(reject)
}
}
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does renderAsyncComponent() do?
renderAsyncComponent() is a function in the vue codebase, defined in packages/server-renderer/src/render.ts.
Where is renderAsyncComponent() defined?
renderAsyncComponent() is defined in packages/server-renderer/src/render.ts at line 222.
What does renderAsyncComponent() call?
renderAsyncComponent() calls 3 function(s): next, renderComponent, renderNode.
What calls renderAsyncComponent()?
renderAsyncComponent() is called by 1 function(s): renderNode.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free