นี่อาจดูเป็นคำถามที่ไร้สาระ แต่ฉันเป็นมือใหม่ในหัวข้อนี้ ฉันกำลังทำตามคำสัญญาบนโหนด js และฉันต้องการส่งผ่านพารามิเตอร์ไปยังฟังก์ชันคำมั่นสัญญา อย่างไรก็ตามฉันไม่สามารถเข้าใจได้
someModule.someFunction.then(username, password,function(uid) {
/*stuff */
}
และฟังก์ชันก็เป็นเช่นนั้น
var someFunction = new Promise(username, password, function(resolve, reject) {
/*stuff using username, password*/
if ( /* everything turned out fine */ ) {
resolve("Stuff worked!");
} else {
reject(Error("It broke"));
}
});
แต่ฉันกำลังเรียกสัญญาจากโมดูลอื่นและชื่อผู้ใช้และรหัสผ่านก็ไม่คงที่ แต่มาจากฝั่งไคลเอ็นต์ ปลอดภัยหรือไม่ที่จะกำหนดตัวแปร gloabal ที่ฟังก์ชันหนึ่งตั้งค่าและอีกฟังก์ชันหนึ่งใช้ มีความเสี่ยงที่ลูกค้ารายอื่นจะเปลี่ยนตัวแปรหรือไม่?
—
kundante
@kundante คุณไม่จำเป็นต้องมีลูกโลก เรียนรู้เกี่ยวกับการปิด
—
SLaks
@adeneo สัญญาจะไม่ตรงกัน - จะเกิดอะไรขึ้นถ้าเขาเรียกใช้ฟังก์ชันเป็นครั้งที่สองก่อนที่คำสัญญาแรกจะได้รับการแก้ไข
—
Mawg กล่าวว่าคืนสถานะ Monica
username
และpassword
อยู่ในขอบเขตที่สูงขึ้นได้