我正在嘗試使用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的回填作爲回填。 –
工程就像一個魅力!非常感謝你。 –