javascript - 回调、Promise 和事件的区别 JavaScript/React-Native <-> Java/Android

标签 javascript java android react-native

我正在阅读有关 native modules 的内容在 React-Native 和 Android 中。 文档区分了

我很难理解他们三者之间的区别。主要区别是什么?什么时候使用什么?

最佳答案

回调是传递给另一个函数的函数,然后在完成某些异步操作时调用该函数:

somethingAsync(function callback(result) { /*...*/ });

您会经常看到这种模式,因为其他一切都依赖于回调。然而,如果您有很多回调,代码就会变得难以阅读和维护,尤其是在使用循环时。为此,引入了 Promise,它包装了回调函数,并允许将回调附加到 Promise。这允许一些很好的链接:

 const promise = new Promise(somethingAsync);
 promise.then(function result() { /*...*/ });

请注意,promise 只能解析一次,而回调可以调用多次。

事件与 Promise 并不真正相关,它们允许您将回调附加到一个对象,该回调将在发生某些事情时被调用,例如单击按钮:

 button.onclick = function(event) { /*...*/ }

关于javascript - 回调、Promise 和事件的区别 JavaScript/React-Native <-> Java/Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51519008/

相关文章:

javascript - 在javascript中混合字符串的中间

javascript - Google+分享按钮回调(分享成功时)

javascript - 在 html 中隐藏/显示表单?

java - 对通用对象 Java 的数组列表进行排序

java - Java类型删除如何对待'?'

javascript - 自定义 JQuery 克隆行属性

java - 继承:是在父类(super class)内部复制内容吗?

android - GoogleSignInClient 返回 8(内部错误)

android - android.location.geocoder 的问题

安卓通知图标问题