Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在http请求函数完成后运行函数?_Javascript_Angular_Typescript_Http - Fatal编程技术网

Javascript 如何在http请求函数完成后运行函数?

Javascript 如何在http请求函数完成后运行函数?,javascript,angular,typescript,http,Javascript,Angular,Typescript,Http,我有四项职能: constdeleteethings$将通过API服务删除数据库中的所有数据 const addDependency$用于添加一些依赖性 const addUsers$用于添加用户,它将返回userId作为将在#4中使用的响应,但函数只存储对已定义数组的响应 const addData$将数据添加到数据库中,用户ID是必需的依赖项 我现在有这样的代码 deleteEverything$.pipe(mergeMap(() => addDependency$).subscrib

我有四项职能:

  • constdeleteethings$
    将通过API服务删除数据库中的所有数据
  • const addDependency$
    用于添加一些依赖性
  • const addUsers$
    用于添加用户,它将返回
    userId
    作为将在#4中使用的响应,但函数只存储对已定义数组的响应
  • const addData$
    将数据添加到数据库中,用户ID是必需的依赖项
  • 我现在有这样的代码

    deleteEverything$.pipe(mergeMap(() => addDependency$).subscribe(console.log)
    
    但我不知道如何连接
    addUsers$
    (只将内容存储到数组)和
    const addData$
    。由于在
    addData$
    中需要USRID,因此它需要等待
    addUsers$
    首先完成所有用户ID的存储

    注意:对于
    addUsers$
    所涉及的嵌套响应,实际情况要复杂一些,我无法理解。目前,我认为存储并返回阵列是可行的解决方案。这就是为什么我没有直接在
    管道中使用它的响应

    谢谢您的帮助,如果您需要更多信息,请告诉我

    const num = Array.from(Array(allUsersData.length).keys())
    const addData$ = forkJoin(
      num.map(n => this.addDataService.addData(
        {name: allUsersData[n].name, 
         dependency: allUsersData[n].dependency,
         userIds:userIDs[n]
         }))
    
    deleteEverything$.pipe(mergeMap(() => addDependency$).subscribe(console.log)