javascript,又一个类型错误:';未定义';这不是一个函数

javascript,又一个类型错误:';未定义';这不是一个函数,javascript,tizen-web-app,tizen-wearable-sdk,Javascript,Tizen Web App,Tizen Wearable Sdk,我正在开发一个web应用程序(确切地说,它是一个Tizen web应用程序),虽然我已经定义了回调函数serviceConnectionCallback,但还是出现了“未定义”错误 我是javascript编程新手,希望你们能帮我。Tks 下面是我的代码: var serviceConnectionCallback = { onconnect : onconnectFromPhone , onrequest : onRequest, onerro

我正在开发一个web应用程序(确切地说,它是一个Tizen web应用程序),虽然我已经定义了回调函数
serviceConnectionCallback
,但还是出现了“未定义”错误

我是javascript编程新手,希望你们能帮我。Tks

下面是我的代码:

var serviceConnectionCallback = {
        onconnect : onconnectFromPhone ,
        onrequest : onRequest, 
        onerror : onerror
}

window.onload = function() {

    //do something...
    document.addEventListener("visibilitychange", pageVisibilityHandler, false);

};


function pageVisibilityHandler() {
  if (document.hidden) {
    console.log("hidden");
    /*!!!!!!!!!!!!! PROBLEM HERE !!!!!!!!!!!!!!!!!!!!!!!!*/
    webapis.sa.setServiceConnectionListener(serviceConnectionCallback);
  } else {
    console.log("visible");
  }
}

您何时调用
pageVisibilityHandler()
?我用来访问
setServiceConnectionListener
的流程如下,从
connect()
方法开始

1. request an agent: 
       webapis.sa.requestSAAgent(onSuccess, onError);
2. set up the agents in onSuccess: 
       SAAgent = agents[0];
       SAAgent.setPeerAgentFindListener(peerAgentFindCallback); 
       SAAgent.findPeerAgents();
3. set up the listeners:
       SAAgent.setServiceConnectionListener(serviceConnectionCallback);
       SAAgent.requestServiceConnection(peerAgent);

如果跳过步骤2,则不会实例化局部变量
SAAgent
,您将得到一个未定义的错误。SAAgent是一个局部变量,如果遵循指南,则应将其初始化为
null

未定义
setServiceConnectionListener
。也许您必须等待
webapi
加载?太好了!!!这里有问题!!!,你给我们看了一个函数调用,根据错误是未定义的,你没有给我们看函数,我们怎么知道为什么它没有定义,而它甚至不在发布的代码中?嗨,我想“未定义”是回调
serviceConnectionCallback
,但就像上面@Halcyon所说的,可能
webapi.sa
尚未加载。我正在尝试查找。如果未定义
serviceConnectionCallback
,您将在调用它的行中看到错误(在
webapi
code中)。在OP行上,表示正在调用
setServiceConnectionListener
,因此这是未定义的函数。