相关疑难解决方法(0)

更好地理解JavaScript中的回调函数

我理解将一个函数传递给另一个函数作为回调并让它执行,但我不理解这样做的最佳实现.我正在寻找一个非常基本的例子,像这样:

var myCallBackExample = {
    myFirstFunction : function( param1, param2, callback ) {
        // Do something with param1 and param2.
        if ( arguments.length == 3 ) {
            // Execute callback function.
            // What is the "best" way to do this?
        }
    },
    mySecondFunction : function() {
        myFirstFunction( false, true, function() {
            // When this anonymous function is called, execute it.
        });
    }
};
Run Code Online (Sandbox Code Playgroud)

在myFirstFunction中,如果我确实返回了新的callback(),那么它可以工作并执行匿名函数,但这对我来说似乎不是正确的方法.

javascript function callback

163
推荐指数
5
解决办法
21万
查看次数

Mongoose.js findOne返回查询元数据

我正在尝试在数据库上运行mongoose.findOne,但是得到了意外的结果。我的查询是

const User = mongoose.model('User', {name: String, email: String, passwordHash: String, validation: String, validationCode: String, favorites: Array })


exports.findUser = function findUser(email){

    const foundUser = User.findOne({email: email}, function(err, userObj){
        if(err){
            return err
        }       else if (userObj){
            return userObj
        }       else{
            return null
        }
    })

    return foundUser
}
Run Code Online (Sandbox Code Playgroud)

但是,这将返回以下数据(看似随机?),并且没有我请求的任何数据

Query {
  _mongooseOptions: {},
  mongooseCollection: 
   NativeCollection {
     collection: null,
     opts: { bufferCommands: true, capped: false },
     name: 'users',
     collectionName: 'users',
     conn: 
      NativeConnection {
        base: [Object],
        collections: [Object],
        models: [Object],
        config: [Object],
        replica: …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js mongoose-schema

2
推荐指数
1
解决办法
2645
查看次数

在另一个函数内运行匿名函数

我的代码:

function myFunc(callback) { /*do stuff*/
    $('div').one('mouseover', function () {
        alert('mouseover');
        callback;
    });
}
$("div").click(function () {
    alert('clicked');
    myFunc(function () {
        alert('Callback');
    });
});
Run Code Online (Sandbox Code Playgroud)

但是,callback不执行,控制台中也没有错误.我怎样才能做到这一点?

小提琴:http://jsfiddle.net/8Z66u/

javascript jquery function

-3
推荐指数
1
解决办法
147
查看次数