首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将ES6类方法作为函数内部调用的函数参数传递

将ES6类方法作为函数内部调用的函数参数传递
EN

Stack Overflow用户
提问于 2015-08-29 12:23:22
回答 1查看 3K关注 0票数 9

如何修复下面的代码,以便能够使用call调用类方法。

类别定义:

代码语言:javascript
复制
class User {
   constructor(..) {...}
   async method(start, end) {}
}

试图将类方法作为函数参数传递:

代码语言:javascript
复制
const User = require('./user'); 

async function getData(req, res) {
  // User.method is undefined, since User refers to User constructor
  await get(req, res, User.method); 
}

async function get(req, res, f) {
  let start = ...;
  let end = ...;
  let params = ...;
  let user = new User(params);
  // f is undefined here
  let stream = await f.call(user, start, end); 
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-29 12:27:16

方法是未定义的,因为用户引用构造函数。

你在找User.prototype.method

代码语言:javascript
复制
async function getData(req, res) {
    await get(req, res, User.prototype.method); 
}

请记住,ES6类是语言的原型特性之上的语法糖。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32285999

复制
相关文章

相似问题

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