首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:"original“参数必须是Vue.js应用程序中的Function类型

TypeError:"original“参数必须是Vue.js应用程序中的Function类型
EN

Stack Overflow用户
提问于 2021-12-04 16:55:58
回答 1查看 75关注 0票数 0

我正在尝试使用我的Vue SPA中的“soap”模块调用soap get服务,但我只是通过导入该模块就得到了这个错误。我已经搜索了很多,但没有找到解决方案。

我的代码:

代码语言:javascript
复制
// /src/services/soapService.js
import soap from 'soap';

var soapService = {

    users: {
        getAllUsers() {
            const url = 'http://127.0.0.2:8000/?wsdl'

            soap.createClient(url, function(err, client) {
                client.getAllUsers(function(err, result) {
                    console.log(result);
                })
            })
        }
    }
}

export default soapService;

然后在Vue组件中调用我的函数:

代码语言:javascript
复制
<template>
  <div></div>
</template>

<script>
import soapApi from '@/services/soapService'

export default {
  name: 'Users',

  methods: {
    getAllUsers() {
      this.allUsers = soapApi.users.getAllUsers();
    }
  },

  mounted() {
    this.getAllUsers();
  }

}
</script>

当我试图加载Users.vue组件时,我得到了这个错误:

代码语言:javascript
复制
TypeError: The "original" argument must be of type Function
    at promisify (util.js?3022:602)
    at eval (index.js?4f62:7)
    at Object.../node_modules/get-stream/index.js (0.js:529)
    at __webpack_require__ (app.js:854)
    at fn (app.js:151)
    at eval (client.js?e3c8:24)
    at Object.../node_modules/soap/lib/client.js (0.js:586)
    at __webpack_require__ (app.js:854)
    at fn (app.js:151)
    at Object.eval (soap.js?3fc0:19)
abort @ vue-router.esm.js?8c4f:2316
eval @ vue-router.esm.js?8c4f:2369
eval @ vue-router.esm.js?8c4f:2138
eval @ vue-router.esm.js?8c4f:2203
Promise.then (async)
eval @ vue-router.esm.js?8c4f:2150
eval @ vue-router.esm.js?8c4f:2171
eval @ vue-router.esm.js?8c4f:2171
flatMapComponents @ vue-router.esm.js?8c4f:2170
eval @ vue-router.esm.js?8c4f:2106
iterator @ vue-router.esm.js?8c4f:2362
step @ vue-router.esm.js?8c4f:2004
step @ vue-router.esm.js?8c4f:2008
step @ vue-router.esm.js?8c4f:2008
step @ vue-router.esm.js?8c4f:2008
runQueue @ vue-router.esm.js?8c4f:2012
confirmTransition @ vue-router.esm.js?8c4f:2392
transitionTo @ vue-router.esm.js?8c4f:2260
push @ vue-router.esm.js?8c4f:2715
push @ vue-router.esm.js?8c4f:3037
handler @ vue-router.esm.js?8c4f:1139
invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1863
invoker @ vue.runtime.esm.js?2b0e:2188
original._wrapper @ vue.runtime.esm.js?2b0e:6961

节点v16.11.1 npm v8.1.3 vue v2.6.11

EN

回答 1

Stack Overflow用户

发布于 2021-12-04 23:52:11

尝试:

代码语言:javascript
复制
import {createClient} from 'soap';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70227684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档