Асинхронное ожидание внутри функции не работает должным образом?

У меня есть эта функция, что мне нужно определить асинхронную функцию внутри нее:

  _refetchConnection = (page) => { // query for cursor page

    const refetchVariables =  async (fragmentVariables) => {
    let pageCursor;
    if(page !== 1) {
      const getAfterCursorQueryText = `
        query($count: Int!, $cursor:String) {# filename+Query
          viewer {
            publicTodos (first: $count, after: $cursor) {
              edges {
                cursor
                node {
                  id
                }
              }     

           pageInfo { # for pagination
            hasPreviousPage
            startCursor 
            hasNextPage
            endCursor 
          }         
            }
          }
        }`;
      let cursor = fragmentVariables.cursor;
      let count = 5;
      const getAfterCursorQuery = { text: getAfterCursorQueryText };
      const result = await this.props.relay.environment._network.fetch(getAfterCursorQuery, {cursor, count});

      pageCursor = result.data.viewer.publicTodos.pageInfo.endCursor;

    } else if (page === 1) {
      pageCursor = null;
    } 

      return {
          cursor: pageCursor,
          count:5 
        }
  }
    this.props.relay.refetch(refetchVariables, null);
  };

но в refetchVariables нет возвращаемого значения, оно имеет место только тогда, когда я не использую async, но мне нужно выполнить ожидание для этого кода, и мне нужен доступ к fragVariables:

const result = await this.props.relay.environment._network.fetch(getAfterCursorQuery, {cursor, count});

может быть, создание refetchVariables не работает асинхронно? но я понятия не имею, как его кодировать. Помогите? Кстати, это значение, возвращаемое в async refetchVariables:

ƒ refetchVariables(_x2) {
                    return _ref3.apply(this, arguments);
                  }

0 ответов

Другие вопросы по тегам