Rumah > Soal Jawab > teks badan
data.js
var http=require('http');
function runAsync(){
var p = new Promise(function(resolve, reject){
//做一些异步操作
var json = '';
http.get('http://localhost:8080/getJson?', function (res) {
res.on('data', function (data) {
json += data;
}).on('end',function (){
json = JSON.parse(json);
resolve(json);
})
}).on('error', function (e) {
console.error(e);
});
});
return p;
}
**module.exports=runAsync().then(function(data){
console.log(data);
return data;
});**//注意这句,我明明返回的是runasync.then(。。。。)为什么他给我返回了runasync()
index.js
var express = require('express');
var router = express.Router();
var getdata=require('../serve/data.js');
/* GET home page. */
router.get('/', function(req, res, next) {
//var a=JSON.parse(getdata);
console.log(getdata);
res.render('index',{title:getdata.total});
});
module.exports = router;
Hasil:
我想大声告诉你2017-05-16 13:25:03
Promise.prototype.then()
Apa sahaja yang dikembalikan ialah objek Promise yang lain Parameter yang diterima oleh kaedah then() ialah fungsi panggil balik Anda hanya boleh mengawal nilai pulangan fungsi panggil balik, bukan nilai pulangan kaedah then(). Menyusahkan untuk menaip pada telefon bimbit Jika anda mempunyai sebarang soalan, sila tunggu saya menjawab di komputer.
过去多啦不再A梦2017-05-16 13:25:03
var express = require('express');
var router = express.Router();
var data=require('../serve/data.js');
/* GET home page. */
router.get('/', function(req, res, next) {
//var a=JSON.parse(getdata);
data.then(function(data){
console.log(data.total);
res.render('index',{title:data.total});
});
});
module.exports = router;
Tulis saja seperti ini