在react native中,我有这两行代码:
this._animateContent('contentPos', -700);
this._callOnSwipe();
我想在执行第二行之前等待第一行完成。有办法吗?
这是功能
_animateContent: function _animateContent(state, endValue) {
this.tweenState(state, {
easing: _reactTweenState2.default.easingTypes.easeInOutQuad,
duration: 400,
endValue: -600
});
},
答案 0 :(得分:1)
答案 1 :(得分:0)
在此React Tween State文档中,您可以使用onEnd: endCallback
的配置来运行_callOnSwipe
函数。
var this_parent = this;
this._animateContent('contentPos', -700 , function(){this_parent._callOnSwipe()});
_animateContent: function _animateContent(state, endValue, EndFunction) {
this.tweenState(state, {
easing: _reactTweenState2.default.easingTypes.easeInOutQuad,
duration: 400,
endValue: -600,
onEnd: EndFunction
});
},
答案 2 :(得分:0)
我认为您需要tweenState,以便最终给您回调或Promise,以便可以将回调设置为this._callOnSwipe()。
不确定tweenState是什么意思, 但是我想这就是https://github.com/chenglou/react-tween-state,正如我刚从Google搜索到的那样。
它支持回调的onEnd属性,示例代码如下所示。
_animateContent: function _animateContent(state, endValue, callback) {
this.tweenState(state, {
easing: _reactTweenState2.default.easingTypes.easeInOutQuad,
duration: 400,
endValue: -600,
onEnd: callback
});
},
然后您可以致电
var self = this;
this._animateContent('contentPos', -700, function() {
self._callOnSwipe()
});
希望有帮助。