मैं वर्तमान में ऐप्पल से नए क्लाउडकिट जेएस का उपयोग कर iCloud सर्वर से सर्वर साइड कनेक्शन करने की कोशिश कर रहा हूं। डब्ल्यूडब्ल्यूडीसी 2015 "क्लाउडकिट जेएस और वेब सेवा" के मुताबिक, क्लाउडकिट जेएस एक शुद्ध जेएस ढांचा है, इसलिए आप इसे सभी जेएस वातावरण जैसे नोड जेएस में उपयोग कर सकते हैं।क्लाउडकिट जेएस एंड नोड जेएस
मैंने क्लाउडकिट जेएस के स्रोत कोड को 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")
})
क्लाउडकिट सही ढंग से स्थापित होने लगते हैं क्योंकि सभी कार्यों को सही ढंग से बुलाया जाता है। लेकिन PerformQuery के कॉलबैक कभी नहीं कहा जाता है। क्यूं कर ?
क्या कोई ऐसा व्यक्ति है जो क्लाउडकिट जेएस को सर्वर वातावरण में कॉन्फ़िगर करने में सफल रहा है?
अग्रिम
आपकी प्रतिक्रिया के लिए धन्यवाद। मुझे एक त्रुटि मिली: "मूल वादा गायब, सेट लाओ। अपने पसंदीदा विकल्प से समझौता करें"। क्या यह विधि आपके लिए काम करती है? –
संस्करण 0.11 के रूप में नोड में वादे उपलब्ध थे (वर्तमान संस्करण 0.12 है)। आप नोड को अपग्रेड कर सकते हैं या बैकफिल के रूप में https://github.com/jakearchibald/es6-promise जैसे कुछ का उपयोग कर सकते हैं। –
एक आकर्षण की तरह काम करता है! आपका बहुत बहुत धन्यवाद। –