gpt4 book ai didi

javascript - 在 JavaScriptCore 中执行 JavaScript 代码时“编译内置错误”

转载 作者:可可西里 更新时间:2023-11-01 04:50:06 25 4
gpt4 key购买 nike

我使用 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!|

更奇怪的是,如果我删除打印“回调已调用!”和“回调结束!”代码执行无误,并打印“测试”。

你们遇到过这种奇怪的行为吗?这是 Promise 实现的已知错误吗?

最佳答案

这是 JavascriptCore 的 Promise 实现中的一个错误。我在 Apple 开了一张票,它被确认了。

解决方法是使用您自己的 Promise 实现。

关于javascript - 在 JavaScriptCore 中执行 JavaScript 代码时“编译内置错误”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40367747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com