Я пытаюсь изучить библиотеку «q» с узлом.Как отладить этот код nodejs?
$ node -v // -> v0.6.6
Я использую последнюю q.js
из https://github.com/kriskowal/q/blob/master/q.js в настоящее время. Я скопировал код в файл q.js
, который является родным братом моего testq.js
файла.
Код testq.js
является:
function step1(callback) { console.log("step1"); callback("abc"); };
var Q = require("./q");
Q.fcall(step1).end();
Когда я запускаю его:
node testq.js
Он сообщает:
E:\WORKSPACE_NODE\TestNodeJs\q>node testq.js
step1
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: undefined is not a function
at step1 (E:\WORKSPACE_NODE\TestNodeJs\q\testq.js:1:112)
at makePromise.<anonymous> (E:\WORKSPACE_NODE\TestNodeJs\q\q.js:541:27)
at makePromise.promiseSend (E:\WORKSPACE_NODE\TestNodeJs\q\q.js:325:41)
at Array.0 (E:\WORKSPACE_NODE\TestNodeJs\q\q.js:787:28)
at EventEmitter._tickCallback (node.js:192:40)
Я установил v8 debugger plugin for eclipse, отладить его построчно. К сожалению, я не могу найти ошибку.
Я новичок в nodejs, пожалуйста, помогите мне с отладкой. Например. какой инструмент я должен использовать? Или любой другой полезный метод, который я должен попробовать?
UPDATE
ответ Per Хогана, код:
function step1(callback) { console.log("step1"); };
var Q = require("./q");
Q.fcall(step1).end();
может успешно работать без каких-либо ошибок.
Но когда я пытаюсь:
function step1(callback) { console.log("step1"); };
var Q = require("./q");
Q.fcall(step1)
.then(function(v) {
console.log("finished: " +v);
}, function(err){
console.log(err);
})
.end();
Он печатает:
E:\WORKSPACE_NODE\TestNodeJs\q>node testq.js
step1
finished: undefined
Я все еще хочу демо, что step1
пройдет что-то к function(v) {console.log("finished: " +v);}
, где v
не является undefined
.
вы не передавая ничего 'step1' - так' callback' неопределен – ManseUK
для отладки в целом, проверить [узел-инспектор] (https://github.com/dannycoates/node -инспектор) –
Используйте новейшую версию https://github.com/kriskowal/q/blob/maste r/q.js – Hogan