我正在尝试使用Apple的新CloudKit JS执行服务器端连接到iCloud Server。根据WWDC 2015“CloudKit JS和Web Service”,由于CloudKit JS是一个纯JS框架,因此您可以在所有JS环境(如节点JS)中使用它。Cloudkit JS && Node JS
我复制了CloudKit JS的源代码https://cdn.apple-cloudkit.com/ck/1/cloudkit.js,并将其粘贴到名为“cloudkit.js”的文件中。这里是什么,我尝试了演示:
var CloudKit = require("/some/folders/cloudkit.js")
function demoPerformQuery() {
CloudKit.configure({
containers: [{
containerIdentifier: 'myContainerIdentifier',
apiToken: 'myAPIToken',
environment: 'development'
}]
})
var container = CloudKit.getDefaultContainer();
var publicDB = container.publicCloudDatabase;
publicDB.performQuery({recordType: 'Items'}).then(function(response){
// never called :-(
})
}
var express = require('express')
var app = express()
app.get("/", function(){
demoPerformQuery()
})
var server = app.listen(8080, function() {
console.log("server launched")
})
CloudKit似乎是正确设置,因为所有的功能都正常调用。但performQuery的回调从未被调用过。为什么?
是否有人已经成功在服务器环境中配置CloudKit JS?
在此先感谢
感谢您的回复。我得到一个错误:“原生承诺失踪,将Fetch.Promise设置为您最喜欢的替代方案”。这种方法对你有用吗? –
从版本0.11开始,节点中可以使用承诺(当前版本为0.12)。您可以升级节点或使用类似https://github.com/jakearchibald/es6-promise的回填作为回填。 –
工程就像一个魅力!非常感谢你。 –