我是否需要使用fetch()来获取Parse.com查询?

时间:2015-11-20 22:22:06

标签: parse-platform reactjs

我使用ReactJS并将简单的本地数据库设置更改为Parse.com类,从此repo中调整链接保护程序:https://github.com/peterjmag/reading-list

我想切换本机的fetch调用来解析.save()

我可以使用fetch还是应该重写函数以使用parse.com语言?

在此

上声明添加链接
LinkActions.addLink.listen(function (link) {
    fetch('//localhost:3001/links/', {
      method: 'post',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: link.url
  })
})
.then(function(response) {
    if (response.status >= 400) {
        throw new Error('Bad response from server');
        LinkActions.addLink.failed(link);
    }

    return response.json();

    }).then(function (newLinkData) {
        LinkActions.addLink.completed(link, newLinkData);
    });
});

修改

新代码看起来像这样:

行。所以我的新代码现在看起来像这样。

    LinkActions.addLink.listen(function(link) {

        var LinkListing = Parse.Object.extend("LinkListing");
        var linkListing = new LinkListing();

        linkListing.save({
            url: link.url
        }, {
            success: function(linkListing) {
                // The object was saved successfully.
            },
            error: function(linkListing, error) {
                // The save failed.
                // error is a Parse.Error with an error code and message.
            }
        });
    });

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

您可以保留fetch并使用parse.com REST API,也可以重构您的代码以使用Javascript API等icnluding函数,例如save。我建议重构Javascript API,因为它会使您的代码更短更清晰。

例如,绝对不应该关注的两件事是向每个请求添加标头并将每个响应状态与400进行比较。