我想记录'tapped'并尽快执行HUD,但是oauth_upload_photo导致它滞后(显然是因为提升)。我怎样才能立即拍摄HUD?
var submit_post = function submit_post(){
console.log('tapped');
// Show HUD
plugins.navigationBar.hideRightButton();
var hud = document.getElementById("hud");
hud.style.display = 'block';
// Get the image
var image = document.getElementById('myImage');
var imageURI = image.src;
// Get the caption from the textarea
var cap = document.getElementById('tar');
var caption = cap.value;
// Call upload photo
oauth_upload_photo(imageURI,caption);
};
答案 0 :(得分:1)
您的问题(在我们能够理解您实际询问的内容之前需要更多解释)与javascript变量提升无关。所有提升都会导致在函数顶部定义变量,无论它们的初始声明位于函数中的哪个位置。它不会改变任何语句的执行顺序。
此外,在某些浏览器中,console.log()
不能保证完全同步,并且日志窗口中的数据显示也不一定是立即的。在实际记录之前有时会有延迟。我不知道这是否是由跨进程边界的数据编组,一般重绘逻辑或其他一些内部实现问题引起的。
您可能还想更改此内容:
var submit_post = function submit_post(){
到此:
var submit_post = function (){
甚至是这样:
function submit_post() {
所以你不要双重定义相同的符号。