Adakah node.js mengembalikan objek janji dan bukannya data melalui module.exprots?
習慣沉默
習慣沉默 2017-05-16 13:23:03
0
2
493

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:

習慣沉默
習慣沉默

membalas semua(2)
我想大声告诉你
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梦
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

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