【问题标题】:Reactjs promises, how should we use it?Reactjs 承诺,我们应该如何使用它?
【发布时间】:2015-10-28 16:41:49
【问题描述】:

在过去的 3 天里,我阅读了很多关于 React 的内容,但我没有看到太多关于使用 Promise 的信息,所以我有这个担心。

有这方面的图书馆吗?

我应该如何在 React 中使用 Promise?

【问题讨论】:

  • 也许有些东西在翻译中丢失了,但是我应该如何在 React 中使用 Promise 是不可能的;您应该在需要的任何地方使用它们,使用您喜欢的任何库。我也没有将是否有任何库用于此来表示确实提供了此功能
  • 多种异步调用方法(promise,callback)可用于反应组件。您可以像在其他情况下一样使用它们来做出反应。 React 专门用于渲染。查看 Flux 或类似的框架,以使用 react 管理数据流。
  • 通过谷歌搜索reactjs flux promisefacebook.github.io/flux/docs/todo-list.htmlreactjsnews.com/getting-started-with-fluxmadebymany.com/blog/…,您可能会找到可以帮助您完善问题的信息。这也会找到一些库:npmjs.com/package/react-deferred.

标签: javascript reactjs promise


【解决方案1】:

React 没有像 Angular 那样带有 $http 的 Promise 库。你必须找到你自己的。

您可以尝试一些:

【讨论】:

  • 如果我可以问,你为什么推荐 Bluebird?我有种感觉,作为 Promise 领域的新手,Bluebird 缺乏文档......
  • 我同意。我最近实际上在 Redux 中编写了一个应用程序并使用 Superagent 并发现对 Promise 库的需求非常少。
  • 没有反应.. 我可以推荐使用github.com/github/fetch。只需require('es6-promise').polyfill()require('whatwg-fetch') 就可以了。我将它们包含在我的入口点 (main.js) 中。
  • 我会推荐 axios
【解决方案2】:

Promise 对象用于处理异步计算,它有一些难以用回调方法(处理异步代码的更老派方法)处理的重要保证。

Promise 对象只是一个值的包装器,当对象被实例化时,该值可能已知也可能未知,并提供了一种在该值已知(也称为已解析)或因失败原因不可用后处理该值的方法(我们将其称为被拒绝)。

使用 Promise 对象使我们有机会为异步操作的最终成功或失败(无论出于何种原因)关联功能。它还允许我们使用同步来处理这些复杂的场景。

要查看更多信息,请访问:https://www.npmjs.com/package/react-promise

【讨论】:

    猜你喜欢
    • 2017-01-30
    • 2013-08-11
    • 2018-11-03
    • 2011-09-02
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-25
    • 1970-01-01
    相关资源
    最近更新 更多