吉祥寺 2021-05-13 15:19 采纳率: 50%
浏览 180
已采纳

nodejs 后端post 程序还没执行完返回值,res.send已经发了空的内容给前端,怎么办?

 

开发小白,求助!我写了一个登陆函数getlogin.js,想等登陆成功后,给前端返回一个登陆成功的状态,然后前端从登陆页面跳转到首页,但是我用return返回的status,前端显示是{object object},而且内容是空的,登陆根本还没完成呢,前端已经接收到返回的响应

我想的是登陆成功的话返回一个状态status,前端判断这个状态是true就调到登陆页面,false就报错,我不知道我这个思路是不是太笨了,有没有其它更好的办法实现我的功能?目前怎么能让return等我的登录执行完再把正确的status返回呢?

getlogin.js

var SolidNodeClient = require('solid-node-client');
var AuthNode = require('@inrupt/solid-client-authn-node');
const client = new SolidNodeClient.SolidNodeClient();
const { 
    getSolidDataset,
    createSolidDataset,
    saveSolidDatasetInContainer,
  getThing,
  getStringNoLocale,
  getUrlAll,
  createThing,
  setThing,
  addUrl,addStringNoLocale,
  saveSolidDatasetAt
  } = require("@inrupt/solid-client");
const { SCHEMA_INRUPT, RDF, AS } = require("@inrupt/vocab-common-rdf");


var test111={
  nssLogin:async function (req){
    var status = false;
    try{
        let session = await client.login(
            {
                idp:req.body.webID,
                username:req.body.name,
                password:req.body.password
            }
        );
        
        if(session.isLoggedIn){
            
            console.log('loggedin!!!!!')
            return status;
        };
    } catch(e){
        console.log(e,"ERROR");
        return status;
    };
}
};
module.exports= test111;

post.js

const express = require("express");
const route = express.Router();
const test111 = require('../public/getlogin');

route.post("/",(req,res)=>{
    
    var status = test111.nssLogin(req);
    res.status(201).send({status});

});

module.exports = route; 

前端接收到的status

 

  • 写回答

4条回答 默认 最新

  • iMingzhen 2021-05-13 16:47
    关注

    改下代码

    route.post("/",async (req,res)=>{
        
        var status = await test111.nssLogin(req);
        res.status(201).send({status});
     
    });
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 如何把LibreOffice添加到自定义层中
  • ¥15 能够跑通不报错,如何解决?(标签-matlab)
  • ¥35 这个的负序网络和零序网络怎么画?(答疑)
  • ¥200 基于同花顺supermind的量化策略脚本编辑
  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?