Graphql 允许订阅返回实体的初始数据

Graphql 允许订阅返回实体的初始数据,graphql,apollo-server,graphql-subscriptions,Graphql,Apollo Server,Graphql Subscriptions,我需要订阅以返回请求类型的初始状态 我的应用程序中有任务系统,一个任务可能有多种状态:已创建,已排队,正在运行,已完成,已取消,取消等。 创建任务时,任务具有已创建状态,然后根据其类型经历多个状态,直到任务完成 有一个订阅taskUpdated(id:id!):Task,它执行它所说的操作。 这是一个订阅解析程序: taskUpdated: { subscribe: async (...args) => { try { // get

我需要订阅以返回请求类型的初始状态

我的应用程序中有任务系统,一个任务可能有多种状态:
已创建
已排队
正在运行
已完成
已取消
取消
等。 创建任务时,任务具有
已创建
状态,然后根据其类型经历多个状态,直到任务
完成

有一个订阅
taskUpdated(id:id!):Task
,它执行它所说的操作。 这是一个订阅解析程序:

    taskUpdated: {
      subscribe: async (...args) => {
        try {
          // get initial task state
          const initialTaskData = await resolveTask(args[1].input);

          const cb = withFilter(
            (_, { input }) => {
              const iterator = tasksPubsub.asyncIterator(TASK_UPDATED);

              // Set initial task state in the iterator? 

              return iterator;
            },
            (payload, variables) => {
              return payload.id === variables.input.id;
            },
          );

          return cb.apply(null, args);
        } catch (e) {
          // handle error
          debugger;
        }
      },
    },
如何在迭代器中设置初始任务状态?有人建议在迭代器周围创建一个包装器,这样就可以完成工作,但我不知道从哪里开始,这似乎是一种过分的做法。这个问题有没有简单的解决方案

另外,由于前端的限制,在我的情况下,不可以进行
查询
阅读,然后订阅更新