浣跨敤promises鏃?涓轰粈涔坱his鍦ㄧ被鏂规硶涓湭瀹氫箟
鍦ㄧ被鏂规硶涓紝this
鐨勫€煎彇鍐充簬鏂规硶鐨勮皟鐢ㄦ柟寮忋€傚綋浣跨敤鏅€氬嚱鏁拌皟鐢ㄧ被鏂规硶鏃讹紝this
浼氭寚鍚戣皟鐢ㄨ鏂规硶鐨勫璞°€備絾鏄紝褰撲娇鐢ㄧ澶村嚱鏁拌皟鐢ㄧ被鏂规硶鏃讹紝this
浼氱户鎵胯嚜澶栭儴浣滅敤鍩燂紝骞朵笖涓嶄細琚粦瀹氬埌绫荤殑瀹炰緥涓娿€傝繖鏄洜涓虹澶村嚱鏁版病鏈夎嚜宸辩殑涓婁笅鏂囷紝瀹冪户鎵夸簡鍏剁埗绾т笂涓嬫枃鐨?code>this鍊笺€?/p>
鍦ㄤ娇鐢≒romises鏃讹紝濡傛灉浣犲皢绫绘柟娉曚綔涓哄洖璋冨嚱鏁颁紶閫掔粰Promise鐨?code>then鏂规硶鏃讹紝瀹冧細琚綔涓烘櫘閫氬嚱鏁拌皟鐢紝鑰屼笉鏄綔涓烘柟娉曡皟鐢ㄣ€傚洜姝わ紝this
浼氭寚鍚戝叏灞€瀵硅薄锛堝湪娴忚鍣ㄧ幆澧冧腑閫氬父鏄?code>window瀵硅薄锛夋垨鑰?code>undefined锛堝湪涓ユ牸妯″紡涓嬶級銆?/p>
涓轰簡鍦ㄧ被鏂规硶涓纭娇鐢?code>this锛屽彲浠ヤ娇鐢ㄧ澶村嚱鏁版潵瀹氫箟绫绘柟娉曘€傝繖鏍凤紝this
浼氱户鎵胯嚜澶栭儴浣滅敤鍩燂紝骞朵笖浼氭纭湴鎸囧悜绫荤殑瀹炰緥銆備緥濡傦細
class MyClass {
myMethod() {
return new Promise((resolve, reject) => {
// 鍦ㄨ繖閲屽彲浠ユ甯歌闂畉his
resolve(this.someData);
});
}
}
鍦ㄤ娇鐢ㄧ澶村嚱鏁板畾涔夌被鏂规硶鏃讹紝闇€瑕佹敞鎰忎互涓嬪嚑鐐癸細
-
绠ご鍑芥暟涓嶈兘鐢ㄤ綔鏋勯€犲嚱鏁帮紝鍥犳涓嶈兘浣跨敤
new
鍏抽敭瀛楀垱寤虹被鐨勫疄渚嬨€?/p> -
绠ご鍑芥暟娌℃湁鑷繁鐨?code>arguments瀵硅薄锛屼篃涓嶈兘浣跨敤
super
鍏抽敭瀛楁潵璁块棶鐖剁被鐨勬柟娉曘€?/p> -
绠ご鍑芥暟涓嶈兘鏀瑰彉鑷繁鐨?code>this鍊硷紝鍗充娇浣跨敤
call
銆?code>apply鎴?code>bind鏂规硶涔熶笉琛屻€?/p>
相关问答