QQ小程序 init

2020-07-11 16:01 更新

在云函數(shù)中使用 qq-server-sdk,需先調(diào)用初始化方法 init 一次,init 用于設(shè)置接下來在該云函數(shù)實例中調(diào)用云函數(shù)、數(shù)據(jù)庫、文件存儲時要訪問的環(huán)境。 init 方法的定義如下:

function init(options): void

init 方法接受一個 options 參數(shù),方法沒有返回值。 options 參數(shù)定義了云開發(fā)的默認(rèn)配置,該配置會作為之后調(diào)用其他所有云 API 的默認(rèn)配置,options 提供的可選配置如下:

參數(shù)說明

字段 類型 必填 說明
env string object
timeout number 調(diào)用接口的超時時間(ms),默認(rèn)為 15000,即 15 秒。

當(dāng) env 傳入?yún)?shù)為對象時,可以指定各個服務(wù)的默認(rèn)環(huán)境,可選字段如下:

字段 數(shù)據(jù)類型 必填 默認(rèn)值 說明
database string default 數(shù)據(jù)庫 API 默認(rèn)環(huán)境配置
storage string default 存儲 API 默認(rèn)環(huán)境配置
functions string default 云函數(shù) API 默認(rèn)環(huán)境配置
default string 缺省時 API 默認(rèn)環(huán)境配置

示例代碼

const cloud = require('qq-server-sdk')
cloud.init({
  env: 'test-x1dzi'
})

建議在設(shè)置 env 時指定 cloud.DYNAMIC_CURRENT_ENV 常量 ,這樣云函數(shù)內(nèi)發(fā)起數(shù)據(jù)庫請求、存儲請求或調(diào)用其他云函數(shù)的時候,默認(rèn)請求的云環(huán)境就是云函數(shù)當(dāng)前所在的環(huán)境:

const cloud = require('qq-server-sdk')
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})


exports.main = async (event) => {
  const { ENV, OPENID, APPID } = cloud.getQQContext()


  // 如果云函數(shù)所在環(huán)境為 abc,則下面的調(diào)用就會請求到 abc 環(huán)境的數(shù)據(jù)庫
  const dbResult = await cloud.database().collection('test').get()


  return {
    dbResult,
    ENV,
    OPENID,
    APPID,
  }
}

  • 注:上述代碼中的 env 參數(shù)的值不能用

cloud.getQQContext().ENV 替代,因為在 exports.main 外部調(diào)用的 getQQContext() 無法獲取到當(dāng)前環(huán)境 需要特別注意的是,在 qq-server-sdk 中不再兼容 success、fail、complete 回調(diào),總是只會返回Promise。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號