ノードで「q」ライブラリを学習しようとしています。
$ 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)
Eclipse用のv8デバッガプラグインをインストールし、1行ずつデバッグしました。残念ながら、エラーの開始が見つかりません。
私はnodejsの初心者です。デバッグを手伝ってください。たとえば、どのツールを使用する必要がありますか?または私が試すべき他の有用な方法はありますか?
アップデート
ホーガンの答えによると、コード:
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
。