如何在 MEAN 应用程序中的同一个 HTTP 请求中调用多个方法

How to call multiple method in same HTTP request in MEAN app

我需要发送 http 请求并根据优先顺序从服务器获取响应。 这是我的 admin.js 文件

const express = require('express')
const router = express.Router()
const User = require('../models/User')
const deletedUser = require('../models/deletedUser')
const multer = require('multer')

//all users
router.get('/users', async(req,res)=>{
    try{
        const user = await User.find();
        res.send(user);
    }catch(err){
       res.json({message: err});
    }
});

//specific users http://localhost:3000/takeaction/users/5d9ec527be723459c01b99b2
router.get('/users/:Id', async(req,res)=>{
    try{
        const user = await User.findById(req.params.Id);
        res.json(user);
    }catch(err){
        res.json({message: err});
    }
});
// take action by id
router.post('/delete/:Id', async(req,res)=>{
    const selectedUser = await User.findById(req.params.Id);
    // const deleteduser = new deletedUser({})
    // res.json(selectedUser._id);
    const deleteduser = new deletedUser({
        _id: selectedUser._id,
        email: selectedUser.email,
        password: selectedUser.password,
        username: selectedUser.username,
        firstname: selectedUser.firstname,
        lastname: selectedUser.lastname,
        telephone: selectedUser.telephone,
        line1: selectedUser.line1,
        line2: selectedUser.line2,
        line3: selectedUser.line3,
        nic: selectedUser.nic,
        broadcasts: selectedUser.broadcasts,
        selling: selectedUser.selling,
        bookmarks: selectedUser.bookmarks,
        sellerReply: selectedUser.sellerReply,
        finalized: selectedUser.finalized,
        overallrate: selectedUser.overallrate,
        ratings : selectedUser.ratings,
        profileImage: selectedUser.profileImage,
        replying: selectedUser.replying
    });
    deleteduser.save().then(data=>{
        res.json(data);
    }).catch(err=>{
        res.json({message: err})
    });

});

router.delete('/deleteuser/:id', async(req,res)=>{
    try {
        const deleteduser = await User.remove({_id: req.params.id});
        res.json(deleteduser);
        console.log("User deleted!!")
    } catch (error) {
        res.json({message: error});
    }
});



module.exports = router

首先我需要从前端服务文件调用post方法,同时我需要调用删除方法。但是应该在执行特定的 post 方法后调用该删除方法。

重要的是 post 方法和删除方法带有相同的 http 请求。

这可能吗?如果是,我如何在前端实现函数以使用 angular 8.

执行该过程

是的,这可以调用 2 个 API:

let userId = // user id here ;

    this.http
    .post<any>(`/delete/${userId}`)
    .subscribe((resp) => {

         this.http.delete<any>(`/deleteuser/${userId}`).subscribe((res) => {
               //deleted successfully 
         },err=>{
              console.log('err',err);
         });


    },err=>{
        console.log('err',err);
   });