5
JavaScriptCoreフレームワークを使用して、次のJavaScriptコードをiOSで実行します。 javascriptコードがブラウズされます。JavaScriptCoreで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はちょうどコンソールに何かを印刷しスウィフトに実装される方法です。ここで実装したものです:
let printFunction : @convention(block) (String) -> String = {input in
print("|\(input)|")
return ""
}
問題は、私は、次のエラーが発生しますということです。
|Callback called!|
Error compiling builtin: Invalid private name '@capabilities'
|Callback called end!|
さらに奇妙なことならば、私は版画削除することである「と呼ばれるコールバックを!」と "コールバックは終わりを呼んだ!"コードはエラーなく実行され、 "test"が出力されます。
あなたはこの奇妙な動作に遭遇しましたか?それはPromise実装の既知のバグですか?
私もこの問題に取り組んでいます。プロミスの実践的な実装はありますか?またはAppleの反応のテキストで、根本的な問題を回避する方法を理解できますか? – InkGolem
好奇心が強い人は、私はBluebirdのPromiseの実装を使用していました。 – InkGolem