2017-09-25 40 views
0

我嘗試讓我的節點mysql安裝程序正常工作。在我的模型event.js我有以下代碼:無法將結果從模型傳遞到索引文件

Event.getEvents = function(results) { 
    db.query("select * from com_event_details where type='featured'", function(error, results, fields) { 
    return results; 
    }); 
}; 

在我index.js我嘗試從getEvents返回結果。

app.get('/', function(req, res) { 
    Event.getEvents(function(results) { 
    res.send(results); 
    }); 

});

不幸的是,這是行不通的。不知何故,我無法將模型的結果傳遞給索引文件。

感謝您的幫助。

回答

1

您正在將回調傳遞給Event.getEvents,但在該函數中,您沒有使用回調。

使用這個代替:

Event.getEvents = function(callback) { 
    db.query("select * from com_event_details where type='featured'", callback); 
}; 


app.get('/', function(req, res) { 
    Event.getEvents(function(error, results) { 
    res.send(results); 
    }); 
}); 
0

您可以使用承諾在節點返回結果如下圖所示

function getResult() { 
    return new Promise(function(resolve, reject) { 
     try { 
      db.query("select * from com_event_details where type='featured'", function(error, results, fields) { 
       resolve(results); 
      }); 
     } catch (ex) { 
      reject(ex); 
     }; 
    }); 
} 
相關問題