Я много читал о передаче массива в качестве параметра функции для разных возвращаемых значений. Но это не работает, если у меня есть три файла js.JavaScript: Как обрабатывать массив как параметр функции?
main.js
module.exports = function(){
this.deliver = require('./file1.js');
this.start = require('./file2.js');
}
file1.js
module.exports = function(id){
require('./main.js')();
function deliver(id){
console.log('Does deliver() work?:'+id);
var arr = new Array(2);
arr[0] = 'content 1';
arr[1] = 'content 2';
return arr;
}
}
file2.js
require('./main.js')();
start.apply(null, deliver('yes'));
function start(x, y){
console.log('x: '+x);
console.log('y: '+y);
}
У вас есть идея, почему доставить не определен?
@Jose, спасибо. Да, это весь код. Если все в одном файле, это сработает. Но не в трех файлах ...
@Quentin, спасибо. У вас есть идея, как я могу заставить его работать с тремя файлами? -> Я пытаюсь передать аутсорсинг задачи из файла2 в файл1, потому что мне это понадобится и для других задач. В конце мне нужен результат file1 в файле2 для работы с ним. В моем примере я опустил аутсорсинг.
Спасибо за подсказку, Qentin. Я обновил код выше. deliver (x) содержит теперь параметр, который я хотел бы вернуться в file2.js. Он уже поступает в файл1, но не возвращается.
Я все еще пытаюсь найти решение. Я понял, как передавать данные из файла2 в файл1 (или наоборот).
main.js
module.exports = function(){
this.file1 = require('./file1.js');
this.file2 = require('./file2.js');
}
file1.js
require('./main.js')();
//file2.receive('yes', 'content 1');
module.exports = {
deliver : function(id){
console.log('Does deliver() work?:'+id);
return file2.receive(id, 'content 1');
}
}
file2.js
require('./main.js')();
file1.deliver('yes');
module.exports = {
receive : function(x, y){
console.log('x: '+x);
console.log('y: '+y);
}
}
я могу начать file2 и передавать данные в file1, если «вернуться file2.receive (id, 'content 1'); исчезает. Я также могу начать с file1 и передавать данные в файл2 до тех пор, пока «file1.deliver (« да »); исчезает. Почему бы не работать одновременно?
Это весь код для file2.js? –
«Кстати, следующее тоже не работает» - Конечно, нет. 'Доставка' по-прежнему выходит за рамки. – Quentin
Да, моя вина. Мои навыки кодирования медленны, даже в понимании ваших очков. – NewbieXXL