Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何等待“反应本地人”中警报对话的响应?

如何等待“反应本地人”中警报对话的响应?
EN

Stack Overflow用户
提问于 2018-02-15 06:37:24
回答 6查看 22.8K关注 0票数 22

从我的观察来看,Alert对话框似乎建立在React之上。所以每次调用它时都会弹出,而不是在render函数中。

问题是它不是异步任务,所以Alert之后的代码将继续执行,而不管回调函数如何。

下面的代码演示了Alert对话框不断弹出的情况,因为它一遍又一遍读取相同的条形码。

(它是用TypeScript写的。相信我的话,这是一个有效的片段。)

代码语言:javascript
运行
AI代码解释
复制
 import * as React from "react";
 import Camera from "react-native-camera";
 import { Alert } from "react-native";

 export default class BarcodeScanSreen extends React.Component<any ,any> {
 private _camera;
 private _onBarCodeRead = e => {
    if (e.type === "QR_CODE") {
        Alert.alert(
            "QRCode detected",
            "Do you like to run the QRCode?",
            [
                { text: "No", onPress: this._onNoPress },
                { text: "Yes", onPress: this._onYesPress }
            ],
            { cancelable: false }
        );
    }
};

 private _onYesPress = () => { /* process the QRCode */ }

 private _onNoPress = () => { /* close the alert dialog. */ }

render() {
    return (
        <Camera
            onBarCodeRead={this._onBarCodeRead}
            aspect={Camera.constants.Aspect.fill}
            ref={ref => (this._camera = ref)}
        >
            {/* Some another somponents which on top of the camera preview... */}
        </Camera>
    );
}
}

有没有办法暂停JS代码并等待Alert的响应?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-02-15 07:47:13

警报不会暂停代码。在这种情况下,JS不是唯一的问题-- Camera组件也一直在本机背景中运行,它将触发onBarCodeRead侦听器,不管警报是否存在。

您可以尝试用_onBarCodeRead中提到的stopPreview()方法在文档开始时停止照相机。

还请注意,react-native-camera目前正处于从Camera (RCTCamera)到RNCamera的迁移过程中,在新的RNCamera中,我没有看到stopPreview()方法。无论如何,一个简单的标志也可以完成这项工作。

票数 2
EN

Stack Overflow用户

发布于 2018-10-25 12:20:50

反应-本机警报不会停止执行下面的代码。通过将其更改为异步函数来解决对用户的承诺,操作将以Alert的形式工作。

代码语言:javascript
运行
AI代码解释
复制
const AsyncAlert = async () => new Promise((resolve) => {
  Alert.alert(
    'info',
    'Message',
    [
      {
        text: 'ok',
        onPress: () => {
          resolve('YES');
        },
      },
    ],
    { cancelable: false },
  );
});

await AsyncAlert();

票数 36
EN

Stack Overflow用户

发布于 2018-11-13 06:56:39

使用反应-本机警报-异步

我刚刚发布了一个包,它确实做到了这一点,并允许等待用户的选择。它与世博会兼容。

代码语言:javascript
运行
AI代码解释
复制
 import AlertAsync from "react-native-alert-async";


 const myAction = async () => {

   const choice = await AlertAsync(
     'Title',
     'Message',
     [
       {text: 'Yes', onPress: () => 'yes'},
       {text: 'No', onPress: () => Promise.resolve('no')},
     ],
     {
       cancelable: true,
       onDismiss: () => 'no',
     },
   );


   if (choice === 'yes') {
     doSomething();
   }
   else {
     doSomethingElse();
   }

 }

最初的回答:,我已经为ReactNative做了一个公关,其功能是:https://github.com/facebook/react-native/pull/20312

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48809762

复制
相关文章
反应式编程框架设计:如何使得程序调用不阻塞等待
程序在高并发的情况下,程序容易崩溃。主要的原因是:在高并发的情况下,有大量用户请求需要程序计算处理,而目前的处理方式是,为每个用户请求分配一个线程,当程序内部因为访问数据库等原因造成线程阻塞时,线程无法释放去处理其他请求,这样就会早在请求的堆积,不断的消耗资源,最终导致程序的崩溃。
小马哥学JAVA
2023/02/27
7160
反应式编程框架设计:如何使得程序调用不阻塞等待
如何在Python中创建天气警报系统
通过阅读这篇文章,你将学会用Python创建一个天气警报系统,当它预测未来几小时内天空将下雨/下雪时,它会向多个收件人发送一封电子邮件通知。电子邮件通知包含其他信息,如预测的温度和湿度。
HuangWeiAI
2020/12/18
2.7K0
currentHashMap的公平锁,可中断响应,限制等待实例
HashMap是线程非安全的,怎么能线程安全呢,这时候hashtable就出现了,hashmap允许放null,且有且只有一个null,因为不能key不能重复,hashtable不允许放null。
用户9919783
2022/07/26
3950
currentHashMap的公平锁,可中断响应,限制等待实例
Go 中如何关闭 http 响应
当你使用标准http库发起请求时,你得到一个http的响应变量。如果你不读取响应主体,你依旧需要关闭它。注意对于空的响应你也一定要这么做。对于新的Go开发者而言,这个很容易就会忘掉。
王小明_HIT
2021/08/28
1.9K0
Go 中如何关闭 Http 响应
当你使用标准http库发起请求时,你得到一个http的响应变量。如果你不读取响应主体,你依旧需要关闭它。注意对于空的响应你也一定要这么做。对于新的Go开发者而言,这个很容易就会忘掉。
王小明_HIT
2021/09/15
8910
DialoGPT:大规模预训练的对话响应模型
今天给大家介绍的是由微软Yizhe Zhang等人发表在arXiv上的文章”DialoGPT: Large-Scale Generative Pre-training for Conversational Response Generation”,此文已被ACL 2020接收。
DrugAI
2021/02/01
3K0
DialoGPT:大规模预训练的对话响应模型
Prometheus:警报
1、alertmanager.yml文件 global: resolve_timeout: 5m smtp_smarthost: 'smtp.163.com' smtp_from: '13285921108@163.com' smtp_auth_username: '13285921108@163.com' smtp_auth_password: 'xxxxxxxxxx' wechat_api_url: 'https://qyapi.weixin.qq.com/cgi-bin/'
用户5760343
2020/01/15
5930
[答疑]业务序列图上等待响应怎么画
这样合理不?还是要拆成1.6拆成另一个用例,但是用户对引入系统的期望是反馈xxx结果,拆成两个用例不大恰当
用户6288414
2020/05/25
3790
[答疑]业务序列图上等待响应怎么画
WebDriverIO教程:处理Selenium中的警报和覆盖
在此有关Selenium中警报处理的WebDriverIO教程中,我将向您展示如何在WebDriverIO中处理警报和弹出窗口以及叠加模式。我还将介绍自动化期间将要遇到的各种类型的警报,以及使用WebDriverIO在Selenium中处理警报时需要遵循的关键点。
PHP开发工程师
2021/04/21
6K0
WebDriverIO教程:处理Selenium中的警报和覆盖
SSR长时间等待代理隧道响应的有效解决办法
作为一名专业爬虫代理,我深知在使用SSR(ShadowsocksR)时可能会遇到代理隧道长时间等待响应的情况。这种情况极大地妨碍了爬虫程序的效率和稳定性。在本文中,我将分享一些有效的解决办法,帮助你解决SSR长时间等待代理隧道响应的问题,并提升你的爬虫程序效果。
华科云商小彭
2023/08/11
5640
SSR长时间等待代理隧道响应的有效解决办法
WebDriverIO教程:处理Selenium中的警报和覆盖
在此有关Selenium中警报处理的WebDriverIO教程中,我将向您展示如何在WebDriverIO中处理警报和弹出窗口以及叠加模式。我还将介绍自动化期间将要遇到的各种类型的警报,以及使用WebDriverIO在Selenium中处理警报时需要遵循的关键点。
用户7466307
2020/07/20
6.3K0
WebDriverIO教程:处理Selenium中的警报和覆盖
Actframework中如何灵活控制JSON响应
@DiamondFsd 昨天写了一篇关于如何在Spring MVC中灵活控制JSON返回的博客,其中@JSON注解的思路和我在actframework的处理方式非常相似。 刚好昨天把actframework放上码云了,就这个话题写下 如何在ActFramework中控制JSON返回 首先是资源和服务。我将就@DiamondFsd的article的例子来做讲解 @Entity("article") public class Article extends MorphiaAdaptiveRecord<Artic
老码农
2018/06/27
9850
VC如何获取对话框中控件的坐标
VC如何获取对话框中控件的坐标 GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置。 GetClientRect取得窗口客户区(不包括非客户区)在客户区坐标系下的RECT坐标,可以得到窗口的大小,而不能得到相对屏幕的位置,它的top和left都为0,right和botton是宽和高,因为这个矩阵是在客户区坐标系下(相对于窗口客户区的左上角)的。   ClientToScreen把客户区坐标系下的RECT坐标转换为屏
_gongluck
2018/03/08
2.6K0
ObjectARX中反应器的使用
ObjectARX中反应器的使用 反应器机制是观察者模式(设计模式)的一种实现,在该机制下,有事件通知者和事件接收者,负责接收事件的称为反应器 反应器列表:在反应器可以从通知者处接收消息之前,必须显式地将反应器添加到通知者的反应器列表中。 反应器部分类继承关系 种类:
用户3519280
2023/07/24
4150
ajax提交等待服务器响应友好提示信息的实现
众所周知,在客户端向服务器发送AJAX请求时,会有一个等待服务器响应的过程,在网络环境好而且服务器负荷小的时候,业务逻辑不大太复杂的请求可能一下子就处理完并返回响应结果了,但当网络环境不理想或请求涉及到大量的运算时,服务器响应的时间或许就会比较漫长了,特别对于正在操作,正期待操作结果的用户来说,这段等待时候是无比的漫长,如果你没有过这样的操作体验,你回想一下约会时别人迟到的时候或有急事出门时在公交站苦苦等车的滋味,相信你就能感同身受了,而让用户忍受如此煎熬,对于强调用户体验的Web2.0时代,是大忌,是追求“为用户创造价值,让用户享受电子商务所带来的方便快捷”为宗旨的我所不能接受的。虽然,我不能改变客观环境因素带来的长响应时间,但我可以告诉用户系统正在做什么,让他们感受到,系统很在乎他们的感受,并愿意亲切地和他们交流的,而不是传统的软件那样,死板、霸道、冷冰冰的,好了,不多说大道理了,看看我的做法吧。
风柏杨4711
2021/03/15
2.6K0
语音交互中的“等待体验”研究
回顾人机交互发展史,人类先后经历了基于命令行的CLI 时代,基于鼠标键盘的GUI时代,基于触摸的初级NUI时代。后面每一个阶段比前一个阶段更自然,学习成本更低,综合效率更高。 进入AI时代,人工智能给
前朝楚水
2018/04/04
2K0
语音交互中的“等待体验”研究
有效的云安全警报
该文介绍了如何设置有效的云安全警报系统,包括避免“噪音”,设置准确度,消除错误警报,简化安装过程等方面。
用户1204935
2018/01/05
1.7K0
有效的云安全警报
直接内存回收中的等待队列
在直接内存回收过程中,有可能会造成当前需要分配内存的进程被加入一个等待队列,当整个node的空闲页数量满足要求时,由kswapd唤醒它重新获取内存。这个等待队列头就是node结点描述符pgdat中的pfmemalloc_wait。如果当前进程加入到了pgdat->pfmemalloc_wait这个等待队列中,那么进程就不会进行直接内存回收,而是由kswapd唤醒后直接进行内存分配。
233333
2020/04/13
1.6K0
如何在gin中获取响应体内容?
实现思路: 对gin的responseWriter进行包装, 每次写往请求方写响应数据的时候,将响应数据返回出去。step1: 定义一个新的CustomResponseWriter,通过组合方式持有一个gin.ResponseWriter和response body缓存。type CustomResponseWriter struct { gin.ResponseWriter body *bytes.Buffer}func (w CustomResponseWriter) Write(b []byt
Johns
2021/04/10
11.8K0
如何在gin中获取响应体内容?
点击加载更多

相似问题

等待vutify中的警报对话框响应

10

如何在本地人的反应中解除警报?

13

如何在“反应本地人”中更改警报按钮颜色?

10

本地人的反应。火力基地。如何等待异步函数的执行?

110

反应本地人:等待是一个保留的词

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档