国产精品美女久久久浪潮AV,国产精品三级一二三区,久久精品国产一区二区小说 ,依依成人影视国产精品,全部无卡免费的毛片在线看,日本一区二区三深夜不卡,国产精品女同一区二区久久,国产精品夜色一区二区三区

        mongoose中save無法獲取回調函數值的解決方法

        2018-7-18    seo達人

        如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

        mongoose保存數據:

        const save = new Model(data).save()
            
        • 1

        如果成功,則可以獲取到保存在數據庫的值,但是如果保存數據失敗,則會拋出異常,好在save可以傳入一個回調函數,用法如下:

        const save = new Model(data).save((err, result)=>{ if(err){ // 保存失敗執行的操作
            }else { // 保存成功執行的操作
            }
        
        })
            
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8

        我們希望根據結果獲取到不同的值,但是此時save返回的是undefined,因為save中的回調函數是一個異步操作

        解決方法:

        使用try catch:

        try{
            const save = await new Model(data).save();
            // 保存成功執行的操作 return ... }catch(err){
            // 保存失敗執行的操作 return ... }
            
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8

        注意:在async函數中才可以這么使用,因為await只能用在async函數中

        示例:(注冊功能)

        user.model.js

        const mongoose  = require("mongoose"); const port      = process.env.PORT || "8899"; const UserSchema = mongoose.Schema({
            userName: {
                type: String,
                unique: true },
            passWord: String,
            createTime: {
                type: Date, default: Date.now()
            },
            updateTime: {
                type: Date, default: Date.now()
            }
        }, {
            timestamps: {
                createAt: "createTime",
                updateTime: "updateTime" }
        });
        
        module.exports = mongoose.model("USER", UserSchema);
            
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13
        • 14
        • 15
        • 16
        • 17
        • 18
        • 19
        • 20
        • 21
        • 22
        • 23
        • 24
        • 25

        service.js

        const User = require("./user.model);
        class User{
            async login(user){
                    try{
                        const result = await new User(user).save();
                        // 其他操作,如發送注冊郵件
                        return { success: true }
                    }catch(err){
                        return { success: false, message: "用戶名或密碼錯誤" }
                    }
           }
        }
        moduel.exports = new User();
            
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
        • 8
        • 9
        • 10
        • 11
        • 12
        • 13

        controller.js

        const server = require("./server); async login(){ // 首先獲取請求中攜帶的用戶信息 const result = await server.login(user);
            if(result.success){ // 注冊成功執行的操作 }else { // 注冊失敗執行的操作 }
        }
        藍藍設計www.shtzxx.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

        日歷

        鏈接

        個人資料

        藍藍設計的小編 http://www.shtzxx.cn

        存檔

        主站蜘蛛池模板: 无遮挡色视频免费观看| 三年片大全免费观看| 丰满大爆乳波霸奶| 奶大灬舒服灬太一大了| 国产精品人成在线观看| 国产一区二区三区影院| 亚洲丶国产丶欧美一区二区三区| 在线观看国产黄片av| 精品国精品国产自在久国产| 你好世界在线观看| 公与淑婷厨房猛烈进出视频韩国| 好男人资源在线影院免费观看| 萍萍的性荡生活第二部| 国产又色又爽又黄的| 人妻在线日韩免费视频| 成人午夜福利视频| 极品少妇被弄得高潮不断| 日本午夜免费福利视频| 延津县| 97影院在线午夜| 国产精品妇女一二三区| 人妻阿敏被老外玩弄系列| 人善交zzzzxxxxx另类| 无码ol丝袜高跟秘书在线观看| 久久99精品久久久久麻豆| 饥渴老熟妇乱子伦视频| 长白| 亚洲熟熟妇xxxx| 《邻居人妻》无删减| 免费人成视频在线观看视频| 国产色精品vr一区二区| gogo少妇无码肉肉视频| 午夜福利视频| 噜噜噜噜私人影院| 亚洲avav天堂av在线网毛片| 亚洲av无码一区二区三区人| 精品国产欧美一区二区三区在线| 和黑人邻居中文字幕在线| 神马电影午夜第九理论| 婷婷丁香五月激情综合| 亚洲欧洲专线一区|