gpt4 book ai didi

javascript - promise 完成后导出模块

转载 作者:搜寻专家 更新时间:2023-10-31 23:29:53 31 4
gpt4 key购买 nike

我实际上想将“读取”功能放在不同的模块中,然后在我的主 app.js 中要求它。 (我对使用 promise 很陌生)

[修订]

var dir = require('node-dir');
var files = function getFiles(){

return new Promise(function (resolve, reject) {
dir.files('../sample/sample', function (err, res){
if (err) {
reject(err);
console.log('Oops, an error occured %s', err);
}
else {
resolve(res);
return res;
}
});
});
}

console.log(files);

module.exports = files;

再次更新:

//read.js

var dir = require('node-dir');
var Promise = require('promise');


module.exports = new Promise(function (resolve, reject) {
dir.files('../sample/sample', function (error, results){
if (error) {
reject(error);
console.log('Oops, an error occured %s', err);
}
else {
resolve(results);
}
});
})

//app.js

var filelist = require('./read');

filelist.then(function (res){

console.log(res);
})

我该怎么做?我试过“返回新的 promise ......”并将整个东西放在一个 getFile 函数中,但它没有返回任何东西。

我做错了什么?

最佳答案

这是我的代码

read.js

var dir = require('node-dir');

var files = new Promise(function (resolve, reject) {
dir.files('../sample/sample.txt', function (err, res){
if (err) {
reject(err);
console.log('Oops, an error occured %s', err);
}
else {
resolve(res);
}
});
});

exports.files = files;

然后在导入该模块的文件中使用它。

应用程序.js

var read = require('read.js');

read.files.then(function(res) {
console.log(res);
});

你修改后的代码

read.js

var dir = require('node-dir');

var files = function(){
return new Promise(function (resolve, reject) {
dir.files('../sample/sample', function (err, res){
if (err) {
reject(err);
console.log('Oops, an error occured %s', err);
}
else {
resolve(res);
return res;
}
});
});
}

exports.files = files;

应用程序.js

var read = require('read.js');

read.files().then(function(res) {
console.log(res);
});

希望对您有所帮助。

关于javascript - promise 完成后导出模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43962020/

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