node调用第三方同步回调数据给前端

现在有以需求node需要调用第三方判断是否登录 登录成功返回数据再返回给前端
await dataControl.getUserNickname(ctx.request.body.data.user).then(result=>{

                dataControl.getUserPassword(ctx.request.body.data.password).then(result=>{
                     let message={
                         type:ctx.request.body.type,
                        user:ctx.request.body.data.user,
                         password:ctx.request.body.data.password
                     };
                     dataPost.checkData(url,message).then(result=>{
                         console.log('result:',JSON.parse(JSON.parse(result).msg).data);
                         ctx.session = JSON.parse(JSON.parse(result).msg).data;
                         ctx.response.body = {
                             status: '201',
                             msg:'1'
                         };
                         console.log(ctx);
                     });
        
        
        
                 }).catch(err=>{
                     ctx.response.body = {
                        status: '201',
                         msg:'账户名或密码错误1'
                    };
                })
        }).catch(err=>{
             ctx.response.body = {
                 status: '201',
                 msg:'账户名或密码错误2'
             };
        });
        await dataPost.checkData();

当数据写在这个里边时无法返回给前台

dataPost.checkData(url,message).then(result=>{
console.log('result:',JSON.parse(JSON.parse(result).msg).data);

                         ctx.session = JSON.parse(JSON.parse(result).msg).data;
                         ctx.response.body = {
                             status: '201',
                             msg:'1'
                         };
                         console.log(ctx);
                     });

只有写在外边时才可以返回给前台

   dataPost.checkData(url,message).then(result=>{                             

console.log('result:',JSON.parse(JSON.parse(result).msg).data);

                         ctx.session = JSON.parse(JSON.parse(result).msg).data;
                         
                     });
                     ctx.response.body = {
                             status: '201',
                             msg:'1'
                         };
                         console.log(ctx);
                       

但是写在外边就无法判断是否登录成功了 需要拿到数据后才执行返回求大神救命搞了一天了

阅读 2.7k
2 个回答

已经解决了 自己解决了

新手上路,请多包涵

怎么解决的呢,我也碰到了这个问题,求帮助,谢谢啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题