<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC=2,4] `think.base`是基類,所有的類都會繼承該類,該類提供了一些基本的方法。 使用 ES6 語法繼承該類: ~~~ export default class extends think.base { /** * init method * @return {} [] */ init(){ } } ~~~ `注`: 使用 ES6 里的類時不要寫`constructor`,把初始化的一些操作放在`init`方法里,該方法在類實例化時自動被調用,效果等同于`constructor`。 使用普通的方式繼承該類: ~~~ module.exports = think.Class(think.base, { /** * init method * @return {} [] */ init: function(){ } }) ~~~ ### init(...args) * `args`?{Array} 初始化方法,這里可以進行一些賦值等操作。 ~~~ class a extends think.base { init(name, value){ this.name = name; this.value = value; } } ~~~ `注`:與`1.x`版本不同的是,`2.x`版本`init`方法不再支持返回一個`Promise`,一些通用操作放在`__before`魔術方法里進行。 ### __before() 前置魔術方法,可以將一些通用的行為放在這里進行,如:controller 里檢測用戶是否登錄 ~~~ export default class think.controller.base { /** * 前置魔術方法 * @return {Promise} [] */ * __before(){ let userInfo = yield this.session("userInfo"); //如果沒有登錄,則跳轉到登錄頁面 if(think.isEmpty(userInfo)){ return this.redirect("/logic"); } this.assign("userInfo", userInfo) } } ~~~ ### __after() 后置魔術方法,在方法執行完成后在執行。 ### filename() * `return`?{String} 返回當前類文件的名稱 獲取當前類文件的名稱,不包含文件具體路徑和擴展名。 ~~~ //假設當前類文件具體路徑為 /home/xxx/project/app/controller/user.js class a extends think.base { test(){ var filename = this.filename(); //returns "user" } } ~~~ ### invoke(method, ...data) * `method`?{String} 要調用的方法名稱 * `data`?{Array} 傳遞的參數 * `return`?{Promise} 調用一個方法,自動調用?`__before`?和?`__after`?魔術方法。不管方法本身是否返回?`Promise`,該方法始終返回?`Promise`。 方法本身支持是?`*/yield`?和`async/await`。 ~~~ //使用 async/await class Cls extends think.base { async getValue(){ let value = await this.getValue(); return value; } } let instance = new Cls(); instance.invoke("getValue").then(data => { }); ~~~ ~~~ //使用 */yield class Cls extends think.base { * getValue(){ let value = yield this.getValue(); return value; } } let instance = new Cls(); instance.invoke("getValue").then(data => { }); ~~~ 文檔地址:[https://github.com/75team/www.thinkjs.org/tree/master/view/zh-CN/doc/2.0/api_think_base.md](https://github.com/75team/www.thinkjs.org/tree/master/view/zh-CN/doc/2.0/api_think_base.md)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看