• <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <small id="ggggg"></small> <sup id="ggggg"></sup>
    <noscript id="ggggg"><dd id="ggggg"></dd></noscript>
    <tfoot id="ggggg"></tfoot>
  • <nav id="ggggg"><cite id="ggggg"></cite></nav>
    <nav id="ggggg"></nav>
    成人黃色A片免费看三更小说,精品人妻av区波多野结衣,亚洲第一极品精品无码,欧美综合区自拍亚洲综合,久久99青青精品免费观看,中文字幕在线中字日韩 ,亚洲国产精品18久久久久久,黄色在线免费观看

    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.lzhte.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

    日歷

    鏈接

    個人資料

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

    存檔

    主站蜘蛛池模板: 污视频在线观看网站| 国产欧美日韩久久va| 熟妇人妻无码中文字幕老熟妇| 综合五月天| 五月丁香影院| 桃花岛亚洲成在人线av| 国产精品毛片在线完整版SAB| 久久精品综合国产二区| 五月婷婷六月天| 热门午夜福利| 国产精品亚洲一区二区三区z| 成人午夜在线观看日韩| 国产成人精品免费视频大全| 日韩高清国产中文字幕| 久久综合婷婷丁香五月中文字幕 | 99精品热在线在线观看视| 午夜宅男在线| 高清国产欧美一v精品| 日韩人妻无码中文字幕视频| 国产精品先锋资源站先锋影院| 啪啪啪网站| 贵州省| 国产voyeur精品偷窥222| 5555国产在线观看精品| 99久热成人精品视频| 大伊香蕉精品视频在线天堂女| 久久天天躁夜夜躁狠狠85台湾| 波多野结衣在线精品视频| a级国产乱理论片在线观看ai| 午夜精品久久久久久久无码| 精品亚洲欧美中文字幕在线看| 日韩精品亚洲专区在线观看| 亚洲爆乳无码专区| 国产99视频精品免费观看9e| 国产97色在线 | 日韩| 奇米影视7777久久精品| 再深点灬舒服灬太大了动态图| 色五月丁香五月综合五月亚洲| 日韩人妻系列无码专区| 亚洲精品国产啊女成拍色拍| 国产美女裸身网站免费观看视频|