久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

node.js通過module.exprots返回的是promise對象而非data?

瀏覽:136日期:2024-07-18 16:00:05

問題描述

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;

結(jié)果:

node.js通過module.exprots返回的是promise對象而非data?

問題解答

回答1:

Promise.prototype.then()

無論什么時候返回的都是另外一個Promise對象,then()方法接受的參數(shù)是回調(diào)函數(shù),你只能控制回調(diào)函數(shù)的返回值,不能控制then()方法的返回值。手機打字不方便,有疑問的話,等我用電腦回答。

回答2:

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;

這樣寫就行

相關(guān)文章:
主站蜘蛛池模板: 台湾省| 海安县| 卢龙县| 谢通门县| 大洼县| 黑龙江省| 邻水| 通山县| 阿鲁科尔沁旗| 淮安市| 宜章县| 隆安县| 南宫市| 洪雅县| 应用必备| 伊宁市| 宁都县| 仁怀市| 环江| 三门峡市| 尼勒克县| 南召县| 小金县| 奇台县| 德令哈市| 乌海市| 昌乐县| 东安县| 宜春市| 松阳县| 宁阳县| 盱眙县| 介休市| 延长县| 宜城市| 泾源县| 宁陵县| 阿图什市| 金沙县| 德州市| 蒲城县|