Phonegap Navigator Notification Confirmback无法按顺序工作

时间:2013-03-03 08:02:52

标签: cordova notifications

该应用程序有一个删除dblog的按钮。当用户点击按钮时,我要求确认,然后继续删除。

我正在使用navigator.notification.confirm来询问用户

这是我的代码 -

function deleteLog()
{

    navigator.notification.confirm(
    "Are you sure you want delete?",
    function(buttonIndex){
        if(buttonIndex==1)
        {
            console.log("User has cancelled");
            return;
        }
    },
    "Confirmation",
    "Cancel, Delete");

    console.log("User has confirmed Delete");


}

但是,即使在用户点击“取消”或“删除”之前,我也会收到“用户已确认”消息。我尝试在上面添加一个else语句,但仍然没有运气。

可能出现什么问题?

编辑: 更多信息 -

我喜欢的顺序是单线程===按删除 - >要求确认 - >用户按下删除 - >删除dbLog。

发生了什么事情按删除 - >线程一= =要求确认 线程二(按删除后) - >删除DB日志

1 个答案:

答案 0 :(得分:2)

通过放置console.log(“用户已确认删除”),在回调之外,您基本上是在告诉程序运行console.log而无论用户按下什么。

我会把确认功能拿出去以获得更好的可用性,并按照以下方式编写:

function deleteLog() {
    navigator.notification.confirm(
        'Are you sure you want delete?', // message
        onConfirm,                       // callback to invoke with index of button
        'Confirmation',                  // title
        'Cancel,Delete'                  // buttonLabels
    );
}

//on button press, the onConfirm function is called
function onConfirm(button) {
    //console.log('You selected button ' + button);
    if(button == 1){
        //pressed "cancel"
        console.log("User has cancelled");
    }
    else if(button == 2){
        //pressed "delete"
        console.log("User has confirmed Delete");
    }
}

这很有效。