当我在私有方法_callback
中将私有变量null
设置为_success
时,行_callback(result, _secondaryCallback);
或_callback(result)
不会执行,因为{ 后续行_callback
已使{1}}无效。无论它是否真的准确地说出来,似乎代码运行失灵。这是使用Phonegap>的iOS。
这里发生了什么?为什么我无法调用_callback = _secondaryCallback = null;
然后将_callback()
设置为空?为什么_callback
过早无效?
F.Y.I。,这可能不是处理回调等的最佳策略,但我真的只对了解这种行为的原因感兴趣。
_callback
答案 0 :(得分:1)
难以100%确定,因为这不是显示问题的完整示例。
我的猜测是,你多次拨打something
并且你没有考虑所有这些电话都在共享相同的变量 _callback
和{{ 1}}。
因此,在一次调用完成后,所有其他待处理调用将在结果到达后将变量设置为_secondaryCallback
。
答案 1 :(得分:0)
按照你所展示的内容,你可能多次调用dict = location.raw
osmid = dict.get('osm_id', 'default_value_if_null_here')
并为每次回调使用相同的2个变量。完成namespace.something
函数一次后,对于排队的_success
回调,将2个变量设置为null。您可以通过函数参数传递_success
和_callback
来解决您的问题。