logologo
Empezar
Manual
Desarrollo
Plugins
API
Inicio
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Empezar
Manual
Desarrollo
Plugins
API
Inicio
logologo
Descripción general de RunJS
Importación de módulos
Renderizado en contenedor

Variables globales

window
document
navigator

ctx

ctx.blockModel
ctx.collection
ctx.collectionField
ctx.dataSource
ctx.dataSourceManager
ctx.element
ctx.exit()
ctx.exitAll()
ctx.filterManager
ctx.form
ctx.getModel()
ctx.getValue()
ctx.getVar()
ctx.i18n
ctx.importAsync()
ctx.initResource()
ctx.libs
ctx.location
ctx.logger
ctx.makeResource()
ctx.message
ctx.modal
ctx.model
ctx.notification
ctx.off()
ctx.on()
ctx.openView()
ctx.render()
ctx.request()
ctx.requireAsync()
ctx.resource
ctx.route
ctx.router
ctx.setValue()
ctx.sql
ctx.t()
ctx.view
Previous Pagectx.logger
Next Pagectx.message
Aviso de traducción IA

Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.

#ctx.makeResource()

Crea y devuelve una nueva instancia de resource sin escribir ni modificar ctx.resource. Es adecuado para escenarios que requieren múltiples recursos independientes o un uso temporal.

#Casos de uso

EscenarioDescripción
Múltiples recursosCarga de múltiples fuentes de datos simultáneamente (por ejemplo, lista de usuarios + lista de pedidos), utilizando un recurso independiente para cada una.
Consultas temporalesConsultas de un solo uso que se descartan después de utilizarse, sin necesidad de vincularlas a ctx.resource.
Datos auxiliaresUso de ctx.resource para los datos principales y makeResource para crear instancias de datos adicionales.

Si solo necesita un único recurso y desea vincularlo a ctx.resource, es más apropiado utilizar ctx.initResource().

#Definición de tipos

makeResource<T = FlowResource>(
  resourceType: 'APIResource' | 'SingleRecordResource' | 'MultiRecordResource' | 'SQLResource'
): T;
ParámetroTipoDescripción
resourceTypestringTipo de recurso: 'APIResource', 'SingleRecordResource', 'MultiRecordResource', 'SQLResource'

Valor de retorno: La instancia de recurso recién creada.

#Diferencia con ctx.initResource()

MétodoComportamiento
ctx.makeResource(type)Solo crea y devuelve una nueva instancia, no escribe en ctx.resource. Puede llamarse varias veces para obtener múltiples recursos independientes.
ctx.initResource(type)Crea y vincula si ctx.resource no existe; lo devuelve directamente si ya existe. Garantiza que ctx.resource esté disponible.

#Ejemplos

#Un solo recurso

const listRes = ctx.makeResource('MultiRecordResource');
listRes.setResourceName('users');
await listRes.refresh();
const users = listRes.getData();
// ctx.resource conserva su valor original (si lo tiene)

#Múltiples recursos

const usersRes = ctx.makeResource('MultiRecordResource');
usersRes.setResourceName('users');
await usersRes.refresh();

const ordersRes = ctx.makeResource('MultiRecordResource');
ordersRes.setResourceName('orders');
await ordersRes.refresh();

ctx.render(
  <div>
    <p>Número de usuarios: {usersRes.getData().length}</p>
    <p>Número de pedidos: {ordersRes.getData().length}</p>
  </div>
);

#Consulta temporal

// Consulta de un solo uso, no contamina ctx.resource
const tempRes = ctx.makeResource('SingleRecordResource');
tempRes.setResourceName('users');
tempRes.setFilterByTk(1);
await tempRes.refresh();
const record = tempRes.getData();

#Notas

  • El recurso recién creado debe llamar a setResourceName(name) para especificar la colección y luego cargar los datos mediante refresh().
  • Cada instancia de recurso es independiente y no afecta a las demás; es adecuada para cargar múltiples fuentes de datos en paralelo.

#Relacionado

  • ctx.initResource(): Inicializa y vincula a ctx.resource
  • ctx.resource: La instancia de recurso en el contexto actual
  • MultiRecordResource — Múltiples registros/Lista
  • SingleRecordResource — Un solo registro
  • APIResource — Recurso de API general
  • SQLResource — Recurso de consulta SQL