私はいくつかのバインドの説明を探知しましたが、まだ非常に混乱しています。私は以下の方法で約束を縛って使用しています。それは働いていますが、私は理由を知らない。誰かが私が得た小さな問題を説明して助けてくれることを願っています。ノードバインドと約束
var temp1 = function(){
return new Promise(function(resolve, reject){
resolve("hello");
});
};
var temp2 = function(para1, para2){
console.log("1:", para1);
console.log("2:", para2)
return new Promise(function(resolve, reject){
resolve(para1+" "+para2);
});
};
temp1().then(temp2.bind(null,"world")).then(function(out){
console.log(out);
});
出力:
1:世界2 \:\こんにちは 世界\こんにちは、それは作ることができるので、私は "バインド" を使用
ここでのサンプルコードはありますコードクリーナー、エラー処理が容易な場合は、次のコードを使用する必要があります。
temp1().then(function(out1){
return temp2(out1, "world").then(function(out2){
console.log(out2);
});
});
例
temp1().then(function(out1){
return temp2(out1, (out1.length).to_String()).then(function(out2){
console.log(out2);
});
});
ため しかし、それは次のようになります。私は常にチェーンを壊したり、それを達成するために、追加のチェーンを追加することができます知っている
temp1().then(temp2.bind(null,/*the second param is a property of the output from temp1*/)).then(function(out){
console.log(out);
});
:、私は次の質問を持っているか、バインド作品のほか
チェーンを壊さないために素晴らしいです。
私の2つの質問:1.バインドのしくみ、2.チェーンを保持する方法(追加のチェーンもない)、その中の次の関数のパラメータで以前の出力のプロパティにアクセスできます。 ありがとう!
定義によれば、引数は「指定されたものの前にあります」という結果が "hello"、 "world"ではなく "world" "、 "こんにちは"。私はまだ引数がなぜ「ヌル」ではないのか分からない。最初のヌルはどこかで食べられるようです。 –