无法读取 axios 之外的函数

cannot read function outside axios

我有一个 isUserLogged() 函数,当在 axios 中满足特定条件时会调用它,但是它 returns 一个错误说 Uncaught (in promise) ReferenceError .有没有办法在外面调用函数?谢谢。

这是我的代码。

axios.post('/webservices/getaccountinfo.ashx?o=all')
  .then(function (response) {
   /*Selector*/ 
    var pPanel = document.querySelector('.product-panel');
    var panelHead = document.querySelector("#pLshow div:nth-child(2)");      
    var userLogged = false;

if(response.data.Email !== null){
     console.log(response.data.Email);
      userLogged = true;
    isUserLogged(response.data.FirstName, response.data.LastName, response.data.Email);

   }

  }).catch(function (error) {
    return Promise.reject(error);
  });

function isUserlogged(fname, lname, email){
     console.log('pass function outside');
}

注意:我没有使用reactJS。

你打错了。全局范围内的函数被定义为 isUserlogged,但是你调用的是 isUserLogged

如果您想执行自定义回调,我建议您使用包装函数。像

function isUserlogged(response){
    var pPanel = document.querySelector('.product-panel');
    var panelHead = document.querySelector("#pLshow div:nth-child(2)");      
    var userLogged = false;

if(response.data.Email !== null){
     console.log(response.data.Email);
      userLogged = true;
    isUserLogged(response.data.FirstName, response.data.LastName, response.data.Email);
   }
console.log('pass function outside');
}

function post(resource, url){
    return axios.post(url, resource)
}

post(dataMock,'/webservices/getaccountinfo.ashx?o=all')
.then(isUserLogged))
.catch(function (error) {
    //your catch logic
});