Parse.com 将 dart2js 输出与 Cloud Code 结合使用
Using dart2js output with Cloud Code by Parse.com
首先,我将 javascript 示例转换为飞镖示例。
JS
Parse.Cloud.define('hello', function(request, response) {
response.success('Hello world');
});
飞镖
import 'dart:js' show allowInterop;
import 'package:js/js.dart' show JS;
@JS('Parse.Cloud.define')
external void define(String name, Function func);
void main() {
define('hello', allowInterop((req, res) {
res.success('Yeah!');
}));
}
然后我用dart2js编译它(不管有没有csp)。
最后我 运行 parse deploy
我得到
ReferenceError: self is not defined
at <error: TypeError: Object #<error> has no method '__lookupGetter__'>
at main.js:2539:9
at init.currentScript (main.js:2519:7)
at main.js:2534:5
at main.js:2542:3
现在,我在这里...
我如何让它在 parse.com 上工作,我认为这是一个 nodejs 环境。
self
实际上没有在 parse.com 提供的环境中定义,所以我在 dart2js 输出中定义了 self
例如 var self = this;
。
我收到一个新错误,关于 success
未定义。嗯,没错,我的代码还不完整...
Dart 代码应该是这样的:
import 'dart:js' show allowInterop;
import 'package:js/js.dart' show JS, anonymous;
@JS('Parse.Cloud.define')
external void define(String name, Function func);
@JS()
@anonymous
class HttpResponse {
external void success(String msg);
external void error(String msg);
}
void main() {
define('hello', allowInterop((req, HttpResponse res) {
res.success('Yeah!');
}));
}
现在,一切正常。我可以享受我的星期天。
首先,我将 javascript 示例转换为飞镖示例。
JS
Parse.Cloud.define('hello', function(request, response) {
response.success('Hello world');
});
飞镖
import 'dart:js' show allowInterop;
import 'package:js/js.dart' show JS;
@JS('Parse.Cloud.define')
external void define(String name, Function func);
void main() {
define('hello', allowInterop((req, res) {
res.success('Yeah!');
}));
}
然后我用dart2js编译它(不管有没有csp)。
最后我 运行 parse deploy
我得到
ReferenceError: self is not defined
at <error: TypeError: Object #<error> has no method '__lookupGetter__'>
at main.js:2539:9
at init.currentScript (main.js:2519:7)
at main.js:2534:5
at main.js:2542:3
现在,我在这里...
我如何让它在 parse.com 上工作,我认为这是一个 nodejs 环境。
self
实际上没有在 parse.com 提供的环境中定义,所以我在 dart2js 输出中定义了 self
例如 var self = this;
。
我收到一个新错误,关于 success
未定义。嗯,没错,我的代码还不完整...
Dart 代码应该是这样的:
import 'dart:js' show allowInterop;
import 'package:js/js.dart' show JS, anonymous;
@JS('Parse.Cloud.define')
external void define(String name, Function func);
@JS()
@anonymous
class HttpResponse {
external void success(String msg);
external void error(String msg);
}
void main() {
define('hello', allowInterop((req, HttpResponse res) {
res.success('Yeah!');
}));
}
现在,一切正常。我可以享受我的星期天。