封裝異步 API (獲取一個函數中異步操作的結果)


如果需要獲取一個函數中異步操作的結果,則必須通過回調函數來獲取

簡單例子:

function fun(callback) { setTimeout(function () { var data = 1; callback(data); }) } fun(function (data) { console.log(data); })

 

封裝 API       students.js

exports.find = function (callback) {
 fs.readFile('./db.json', function (err, data) { if (err) { return callback(err); } callback(null, JSON.parse(data).students); }); };

 

使用:

var students = require('./students') router.get('/students', function(req, res) { students.find(function (err, data) { res.render('index.html', data) }) })

 

db.json 數據

{ "students" :[ {"id": 1, "name": "小白", "xuehao": 201561361351, "gender": 1, "core": 88}, {"id": 2, "name": "小黑", "xuehao": 201561361352, "gender": 0, "core": 85}, {"id": 3, "name": "小綠", "xuehao": 201561361353, "gender": 0, "core": 88}, {"id": 4, "name": "小紅", "xuehao": 201561361354, "gender": 1, "core": 95} ] }

 

exports.find = function (callback) {
    fs.readFile('./db.json'function (errdata) {
        if (err) {
            return callback(err);
        }
        callback(nullJSON.parse(data).students);
    });
};


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM