标签: tap

为什么不等待Task.WhenAll抛出AggregateException?

在这段代码中:

private async void button1_Click(object sender, EventArgs e) {
    try {
        await Task.WhenAll(DoLongThingAsyncEx1(), DoLongThingAsyncEx2());
    }
    catch (Exception ex) {
        // Expect AggregateException, but got InvalidTimeZoneException
    }
}

Task DoLongThingAsyncEx1() {
    return Task.Run(() => { throw new InvalidTimeZoneException(); });
}

Task DoLongThingAsyncEx2() {
    return Task.Run(() => { throw new InvalidOperation();});
}
Run Code Online (Sandbox Code Playgroud)

我期望WhenAll创建并抛出一个AggregateException,因为至少有一个等待抛出异常的任务.相反,我正在收回其中一个任务抛出的单个异常.

难道WhenAll不总是创造AggregateException

.net asynchronous exception tap

83
推荐指数
6
解决办法
3万
查看次数

UIPicker检测当前所选行的点击

我有一个UIPickerView和,didSelectRow当点击选定的行时不调用该方法.我需要处理这个案子.有任何想法吗?

iphone select tap touch uipickerview

39
推荐指数
5
解决办法
2万
查看次数

为什么/何时必须点按两次以触发点击iOS

好吧我觉得我疯了

我正在看iOs 6.0上的Mobile Safari.我似乎无法确定任何押韵或理由,因为点击元素会触发点击.在许多情况下,似乎我需要点击一次以触发悬停,然后再次触发点击.

移动Safari规范说:" ...由一个手指和两手指手势生成的事件的流动是有条件的根据所选的元素是否是可点击或滚动...一个可点击的元件是一个链接,表格元件,图像映射区域或使用mousemove,mousedown,mouseup或onclick处理程序的任何其他元素......由于这些差异,您可能需要将某些元素更改为可单击元素......"

它继续建议开发人员"...添加一个虚拟onclick处理程序,onclick ="void(0)",以便iOS上的Safari将span元素识别为可点击元素."

但是,我的测试表明这些陈述是错误的.

JsFiddle:http://jsfiddle.net/6Ymcy/1/

HTML

<div id="plain-div" onclick="void(0)">Plain Div</div>
Run Code Online (Sandbox Code Playgroud)

JS

document.getElementById('plain-div').addEventListener('click', function() {
   alert('click'); 
});
Run Code Online (Sandbox Code Playgroud)

尝试在iPad上点击元素. 什么都没发生

但我离题了.对我来说重要的是找出以下问题:

确切地说,点击元素时确定的标准是什么?会在第一次点击时触发"点击"事件? 而不是在第一次点击时触发"悬停"事件,在第二次点击时触发"点击"事件.

在我的测试中,锚元素是我可以在第一次点击时触发点击的唯一元素,然后,仅偶尔和不一致.

这是我开始感到疯狂的地方.我在网上广泛搜索,发现这个问题几乎没有.只有我吗?!有没有人知道哪里有关于双击标准和/或处理这些限制的方法的讨论?

我很乐意回答问题/要求.

谢谢!

mobile tap click touch ios

33
推荐指数
3
解决办法
3万
查看次数

npm install给出了未经授权的名称或密码错误

当我尝试使用安装水龙头时

npm install tap
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

npm ERR! Error: unauthorized Name or password is incorrect.: tap
Run Code Online (Sandbox Code Playgroud)

这是整个回复:

npm http GET https://registry.npmjs.org/tap
npm http 401 https://registry.npmjs.org/tap
npm ERR! Error: unauthorized Name or password is incorrect.: tap
npm ERR!     at RegClient.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:253:14)
npm ERR!     at Request.init.self.callback (/usr/local/lib/node_modules/npm/node_modules/request/main.js:120:22)
npm ERR!     at Request.EventEmitter.emit (events.js:91:17)
npm ERR!     at Request.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/main.js:648:16)
npm ERR!     at Request.EventEmitter.emit (events.js:115:20)
npm ERR!     at IncomingMessage.Request.start.self.req.self.httpModule.request.buffer (/usr/local/lib/node_modules/npm/node_modules/request/main.js:610:14)
npm ERR!     at IncomingMessage.EventEmitter.emit (events.js:115:20)
npm ERR!     at IncomingMessage._emitEnd (http.js:366:10)
npm ERR!     at HTTPParser.parserOnMessageComplete [as onMessageComplete] …
Run Code Online (Sandbox Code Playgroud)

install tap node.js npm

31
推荐指数
5
解决办法
4万
查看次数

iphone - 单击手势与双击手势冲突

我有一个观点.我希望为它定义各种轻击手势.

因此,如果用户单击视图,视图将执行A; 如果用户双击视图,它将执行B而不执行A.

我在视图中添加了两个UITapGestureRecognizer.单击具有numberOfTapsRequired = 1; 并且双击使用numberOfTapsRequired = 2;

我也设置了返回NO

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
     return NO;
}
Run Code Online (Sandbox Code Playgroud)

但是,我发现他们互相冲突.我的意思是,即使我双击视图,也会调用A和B.

我怎么解决这个问题?

谢谢

iphone tap uigesturerecognizer

29
推荐指数
1
解决办法
6888
查看次数

在UITablevlewCell内的UIImageView上的UITapGestureRecognizer未被调用

我目前有一个自定义的UITableViewCell,它包含一个UIImageView,并试图在UIImageView上添加UITapGestureRecognizer而没有运气.这是代码片段.

//within cellForRowAtIndexPath (where customer table cell with imageview is created and reused)
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleImageTap:)];
tap.cancelsTouchesInView = YES;
tap.numberOfTapsRequired = 1;
tap.delegate = self;
[imageView addGestureRecognizer:tap];
[tap release];

// handle method
- (void) handleImageTap:(UIGestureRecognizer *)gestureRecognizer {
    RKLogDebug(@"imaged tab");
}
Run Code Online (Sandbox Code Playgroud)

我还在单元格和UIImageView的超级视图上设置了userInteractionEnabled,但仍然没有运气,任何提示?

编辑:

我也通过cell.selectionStyle = UITableViewCellSelectionStyleNone删除单元格的选择; 这可能是个问题

tap uitableview gesture ios

29
推荐指数
2
解决办法
2万
查看次数

如何通过后退按钮取消ProgressDialog,而不是通过屏幕点击取消?

我想ProgressDialog通过后退按钮取消,但不能通过屏幕点击取消.目前我用setCancelable(true).

但是,在一些较新的设备中,屏幕上的点击也会取消ProgressDialog.我想在显示时禁用屏幕点击操作ProgressDialog.

android screen tap progressdialog android-asynctask

27
推荐指数
1
解决办法
1万
查看次数

tap()vs subscribe()设置一个类属性

我是rxjs的新手,只是想知道通过管道流并点击它来设置类属性是可以的,或者它应该在订阅中进行.对我来说无论哪种方式都有效,只是想知道是否可以按照我认为合适的方式做到这一点,或者有一些我不知道的事情.

打字稿代码演示两种方式:

export class ViewComponent implements OnInit {

  applicant = {};

  constructor(public route: ActivatedRoute, private store: Store<any>) {}

  ngOnInit() {
    this.route.paramMap.pipe(
      switchMap(params => this.store.select(state => state.applicants.entities[params.get('id')])),
      tap(applicant => this.applicant = applicant)
    ).subscribe();
  }
}
Run Code Online (Sandbox Code Playgroud)

VS

export class ViewComponent implements OnInit {

  applicant = {};

  constructor(public route: ActivatedRoute, private store: Store<any>) {}

  ngOnInit() {
    this.route.paramMap.pipe(
      switchMap(params => this.store.select(state => state.applicants.entities[params.get('id')]))
    ).subscribe(applicant => this.applicant = applicant);
  }
}
Run Code Online (Sandbox Code Playgroud)

tap subscribe rxjs typescript angular

21
推荐指数
4
解决办法
1万
查看次数

通过加速度计检测iPhone上任何位置的硬点击

我试图检测可能在iPhone上的任何地方的水龙头而不仅仅是iPhone屏幕.这是一个链接,表明它是可能的.

基本上我想做的是发送警报,如果用户在iPhone上轻敲3次,而电话放在口袋里.我所取得的成就是我可以检测到3个水龙头,但在这些情况下我也会得到错误警报.1)如果用户走路,2)挥动手机3)跑步.我需要检查用户是否已经打了他的iPhone 3次.

这是我的代码.

- (void)accelerometer:(UIAccelerometer *)accelerometer
        didAccelerate:(UIAcceleration *)acceleration
{
    if (handModeOn == NO)
    {
        if(pocketFlag == NO)
            return;
    }

    float accelZ = 0.0;
    float accelX = 0.0;
    float accelY = 0.0;

    accelX = (acceleration.x * kFilteringFactor) + (accelX * (1.0 - kFilteringFactor));
    accelY = (acceleration.y * kFilteringFactor) + (accelY * (1.0 - kFilteringFactor));
    accelZ = (acceleration.z * kFilteringFactor) + (accelZ * (1.0 - kFilteringFactor));

        self.z.text = [NSString stringWithFormat:@"%0.1f", -accelZ];

        if((-accelZ >= [senstivity floatValue] && timerFlag) || (-accelZ …
Run Code Online (Sandbox Code Playgroud)

iphone tap objective-c ios

20
推荐指数
2
解决办法
4083
查看次数

Linux中的虚拟网络设备

有人可以详细解释一下veth对和tap接口的区别以及这些设备如何连接到linux bridge或openvswitch.

我发现这个:"Veth是一个特殊的网络设备,它们是成对创建的,我认为它是一种改变流量方向的方法,也就是说,当出口方向的流量从Linux协议栈发送到veth设备时,它被发送了另一个镜像设备,因此镜像将其视为一个方向流量并将其放回Linux协议栈以供进一步使用.

Tap设备是逻辑网络设备,但与任何其他设备不同:它允许用户空间程序直接将流量注入Linux协议栈,以及它可以从堆栈中检索流量.它在用户空间的2级(或3级的tun设备)打开一个通往Linux协议栈的隧道,堆栈将把用户空间的数据视为方向流量"

但它没有给我全貌.

提前致谢!

linux networking virtual tap

20
推荐指数
2
解决办法
2万
查看次数