承诺失败的原因是“无法读取财产”,然后是“#39;未定义的。'

时间:2017-07-26 08:23:52

标签: javascript reactjs promise graphql relay

我收到此错误。

无法读取属性'然后'未定义的。

我希望我的其余代码可以做到它应该做的事情,但不知怎的,我的承诺不起作用。我做错了什么?

// @flow
import { commitMutation, graphql } from 'react-relay';

const mutation = graphql`
    mutation CopyArticleMutation($input: CopyArticleInput!) {
        copyArticle(input: $input) {
            article{
                rowId
            }
        }
    }
`;

export default (baseId: string, environment: any) => {
    new Promise((resolve, reject) => {
        commitMutation(environment, {
            mutation,
            variables: {
                input: {
                    baseId,
                },
            },
            onCompleted: resolve,
            onError: reject,
        });
    });
};

然后我就这样使用它:

createArticleFromTemplate = (templateArticle: Object) => {
        if (!templateArticle.isTemplate) {
            return null;
        }

        if (templateArticle.id !== 'undefined' && templateArticle) {
            CopyArticleMutation(templateArticle.id, this.props.relay.environment).then(({ copyArticle }) => {
                console.log(copyArticle);
            });
        }
    };

我确信这是一个微不足道的错误。无论如何,请帮助。

0 个答案:

没有答案