คำสัญญาตัวอย่างเช่น:
var P = new Promise(function (resolve, reject) {
var a = 5;
if (a) {
setTimeout(function(){
resolve(a);
}, 3000);
} else {
reject(a);
}
});
หลังจากที่เราเรียก.then()
วิธีการตามสัญญา:
P.then(doWork('text'));
จากนั้นdoWork
ฟังก์ชันจะมีลักษณะดังนี้:
function doWork(data) {
return function(text) {
// sample function to console log
consoleToLog(data);
consoleToLog(b);
}
}
ฉันจะหลีกเลี่ยงการส่งคืนฟังก์ชันภายในใน doWork เพื่อเข้าถึงข้อมูลจากพารามิเตอร์สัญญาและข้อความได้อย่างไร มีเทคนิคในการหลีกเลี่ยงฟังก์ชันด้านในหรือไม่?
bind
วิธีน่าเกลียด? - ซึ่งช้ามากเช่นกัน