javascript - fungsi nodejs kembali tidak ditentukan, saya tidak begitu faham mengapa.
为情所困
为情所困 2017-05-16 13:32:46
0
3
939

Akhirnya janji digunakan untuk menyelesaikan masalah, kodnya adalah seperti berikut:
exports.selectByUsername = selectByUsername;
fungsi selectByUsername(nama pengguna){

var promise = new Promise(function(resolve){
    var sql = "SELECT COUNT(*) count FROM wx_user WHERE username = ?";
    var sqlParams = [username];
    var count;
    co.query(sql,sqlParams,function(err,result){
        if(err){
            return console.log(err.message);
        }
        console.log("------------------------开始查询---------------------");
        console.log(result);
        var str = JSON.stringify(result);
        var json = JSON.parse(str);
        count = json[0].count;
        console.log(count);
        console.log("------------------------查询结束---------------------");
        resolve(count);
    });
});
promise.then(function(value){
    // console.log(value);
    return value;
});
return promise;

}

app.post('/ajax',urlencodedParser,function(req,res){

username = req.body.name;
console.log(username);
var promise = s.selectByUsername(username);
promise.then(function(value){
    console.log(value);
    if(value!==1){
        res.send("用户名不存在");
    }
});

});

Dokumen rujukan: http://liubin.org/promises-book/

为情所困
为情所困

membalas semua(3)
Peter_Zhu

Fungsi dalam pertanyaan tidak akan dilaksanakan sehingga pertanyaan selesai, dan pada masa ini fungsi luaran telah kembali, jadi kiraan tidak akan diberikan nilai dan masih tidak ditentukan

给我你的怀抱

Menulisnya dalam pertanyaan tidak akan mengembalikan kiraan, kerana kaedah pertanyaan tidak segerak

我想大声告诉你

Ringkasnya, tulis sahaja kiraan pulangan dalam pertanyaan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan