小程序开放平台

文档中心
单实例/多实例调用
xhs.cloud.init
xhs.cloud.callContainer

单实例/多实例调用

开发指南
>
云函数API(消费侧)
>
单实例/多实例调用
>
更新时间:2025-12-19 17:57:43

云托管服务支持单实例和多实例两种调用方式,开发者可以根据业务需求选择合适的调用方式。

单实例调用

Promise 风格

javascript
xhs.cloud.init({ envId: 'your-env-id' })
  .then(() => {
    return xhs.cloud.callContainer({
      path: '/api/user/info',
      init: {
        method: 'GET'
      }
    });
  })
  .then(({ statusCode, header, data }) => {
    console.log('调用成功');
    console.log('状态码:', statusCode);
    console.log('响应数据:', JSON.parse(data));
  })
  .catch((err) => {
    console.error('调用失败', err.errMsg);
  });

回调风格

javascript
xhs.cloud.init({
  envId: 'your-env-id',
  success: () => {
    xhs.cloud.callContainer({
      path: '/api/user/info',
      init: {
        method: 'GET'
      },
      success: ({ statusCode, header, data }) => {
        console.log('调用成功');
        console.log('状态码:', statusCode);
        console.log('响应数据:', JSON.parse(data));
      },
      fail: (err) => {
        console.error('调用失败', err.errMsg);
      }
    });
  }
});

多实例调用

小红书需要将

header
method
放在
init
对象中。

Promise 风格

javascript
var c1 = new xhs.cloud.Cloud()
await c1.init({
  resourceEnv: '环境id'
})
const r = await c1.callContainer({
  path: '/xxx', // 填入业务自定义路径
  header: {
    'X-XHS-SERVICE': 'xxx', // 填入服务名称
  },
  method: 'POST',
})
console.log(r)

回调风格

javascript
var c1 = new xhs.cloud.Cloud()

xhs.cloud.init({
  envId: 'your-env-id',
  success: () => {
    xhs.cloud.callContainer({
      path: '/api/user/info',
      init: {
        method: 'GET'
      },
      success: ({ statusCode, header, data }) => {
        console.log('调用成功');
        console.log('状态码:', statusCode);
        console.log('响应数据:', JSON.parse(data));
      },
      fail: (err) => {
        console.error('调用失败', err.errMsg);
      }
    });
  }
});