gpt4 book ai didi

javascript - 在 "export default"的上下文中递归调用函数?

转载 作者:太空宇宙 更新时间:2023-11-03 22:28:40 25 4
gpt4 key购买 nike

这对其他人来说可能是显而易见的,但我不知道在以下代码中递归调用函数的语法:

//request.js
export default {

send() {
... do stuff ...
this.send(); // Can't call "send" of undefined
}
}

//main.js
import request from './request'

export default class Main extends Component {
init() {
request.send();
}
}

在上面的示例中,我从 main.js 调用发送函数。所有这些都工作正常,但我在发送函数中有一个条件可以调用相同的函数。问题是我不知道如何从函数内部调用该函数。有人吗?

最佳答案

如果你想在Node.js中递归调用默认导出,使用Babel.js进行转译,可以使用exports对象:

// request.js

export default {
send() {
console.log('Yo');
setTimeout(() => {
exports.default.send();
}, 1000);
},
};

导入:

// main.js

import request from './request';

request.send(); // Writes "Yo" to the console once per second

这是因为 Babel.js 只是转换为 CommonJS 语法。这:

export default 42;

变成这样:

Object.defineProperty(exports, "__esModule", {
value: true
});

exports.default = 42;

不知道 future 在 Node.js 中实现 ES6 模块时会发生什么变化。

关于javascript - 在 "export default"的上下文中递归调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41428781/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com