'Error compiling builtin' 在 JavaScript 核心中执行 JavaScript 代码时
'Error compiling builtin' while executing JavaScript code in JavaScriptCore
我使用 JavaScriptCore 框架在 iOS 中执行以下 javascript 代码。 javascript 代码是浏览器化的。
var myCallback = undefined;
*browserify logic*
{
1: [function(require, module, exports) {
var q = require('./user');
var p = new Promise(function(resolved, reject) {
myCallback = function() {
resolved('test');
}
});
p.then(function(x) {printFunc('test');}).catch(function(e){printFunc('test2');});
q();
}, {
"./user": 2
}],
2: [function(require, module, exports) {
function q() {
printFunc("Callback called!");
myCallback();
printFunc("Callback called end!");
}
module.exports = q;
}, {}]
}, {}, [1]);
printFunc 是在 Swift 中实现的一种方法,它只打印一些内容到控制台。这是实现:
let printFunction : @convention(block) (String) -> String = {input in
print("|\(input)|")
return ""
}
问题是我收到以下错误:
|Callback called!|
Error compiling builtin: Invalid private name '@capabilities'
|Callback called end!|
更奇怪的是,如果我删除打印 "Callback called!" 和 "Callback called end!" 代码执行时没有错误并打印 "test".
你们遇到过这种奇怪的行为吗?这是 Promise 实现的已知错误吗?
这是 JavascriptCore 的 Promise 实现中的错误。我在苹果开工单,确认了。
解决方法是使用您自己的 Promise 实现。
我使用 JavaScriptCore 框架在 iOS 中执行以下 javascript 代码。 javascript 代码是浏览器化的。
var myCallback = undefined;
*browserify logic*
{
1: [function(require, module, exports) {
var q = require('./user');
var p = new Promise(function(resolved, reject) {
myCallback = function() {
resolved('test');
}
});
p.then(function(x) {printFunc('test');}).catch(function(e){printFunc('test2');});
q();
}, {
"./user": 2
}],
2: [function(require, module, exports) {
function q() {
printFunc("Callback called!");
myCallback();
printFunc("Callback called end!");
}
module.exports = q;
}, {}]
}, {}, [1]);
printFunc 是在 Swift 中实现的一种方法,它只打印一些内容到控制台。这是实现:
let printFunction : @convention(block) (String) -> String = {input in
print("|\(input)|")
return ""
}
问题是我收到以下错误:
|Callback called!|
Error compiling builtin: Invalid private name '@capabilities'
|Callback called end!|
更奇怪的是,如果我删除打印 "Callback called!" 和 "Callback called end!" 代码执行时没有错误并打印 "test".
你们遇到过这种奇怪的行为吗?这是 Promise 实现的已知错误吗?
这是 JavascriptCore 的 Promise 实现中的错误。我在苹果开工单,确认了。
解决方法是使用您自己的 Promise 实现。