Skip to content

Commit 5ea4332

Browse files
committed
fix(browser-api): Do not carry context into each callback
saves memory Signed-off-by: Marcel Klehr <[email protected]>
1 parent 3db5c1a commit 5ea4332

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

src/lib/browser-api.js

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,18 @@ const ChromePromise = (function(root) {
2020
var args = arguments
2121

2222
return new Promise(function(resolve, reject) {
23-
function callback() {
24-
var err = runtime.lastError
25-
if (err) {
26-
reject(err)
27-
} else {
28-
resolve.apply(null, arguments)
23+
const callback = (function() {
24+
return function callback(runtime, resolve, reject, ...args) {
25+
var err = runtime.lastError
26+
if (err) {
27+
reject(err)
28+
} else {
29+
resolve.apply(null, args)
30+
}
2931
}
30-
}
32+
})()
3133

32-
push.call(args, callback)
34+
push.call(args, callback.bind(null, runtime, resolve, reject))
3335

3436
fn.apply(thisArg, args)
3537
})

0 commit comments

Comments
 (0)