N********n 发帖数: 8363 | 1
As someone pointed out b4, the key is AVOIDING CALLBACK b/c callback
is merely a different form of GOTO: When asynchronous operations finish,
control flow GOES TO your callback methods.
When you have to write many asynchronous operations you end up with many
"GOTO" callback methods in your code that ruin its structure, which is
bad so you wanna avoid them, and that's where async/await helps.
Threading is not relevant here. |
|
N********n 发帖数: 8363 | 2 Imagine you wanna run 3 async operations in a method like below:
void foo () {
// run async_op1, async_op2 & async_op3
}
W/ callbacks you'd have to break it down into several callbacks:
void foo () { run_async (op1, op1_callback);}
void op1_callback () {run_async (op2, op2_callback);}
void op2_callback () {run_async (op3, op2_callback);}
void op3_callback () {//finish the rest;}
Now you are forced to break the logic down into spaghetti callback
methods. If one async_op requires o... 阅读全帖 |
|
d*******r 发帖数: 3299 | 3 最近在用 Node.js 做个简单的 RESTful service, 顺便看了下 Node.js 的一些 lib,
感觉异步JS代码是挺难读的。
可能是我 JS 太菜了,读起来挺费劲的。比如 express.js 4.0, 这种应该是 Node 写
的比较好的 lib 了吧。
一些 router.get/post 什么的函数, 我看懂怎么来的都比较费劲。
感觉 JS 比 Python 还不注重类型,我用 JetBrains webstorm 在读代码,对函数变量
用 jump to declaration,经常找不到, 就给出长长的一串备选...
看着看着郁闷了,上大招,设 break point, 跟着走,这样搞 C++ 代码也容易看懂。
然后发现对于各种 callback 匿名函数,因为注册 callback chain 和 实际调用匿名
函数是分开发生的,于是整个逻辑又分成了2部分。比如 breakpoint 开始肯定会停在
注册 callback chain 的地方(注册这个 callback 的 calling function),step into
后,发现calling... 阅读全帖 |
|
h*i 发帖数: 3446 | 4 是啊。CPS是callback的一个特例。
他这个代码是把正常代码自动转成CPS,并不是很容易写的。你能手写callback,但肯定
不会写个代码来自动把非callback的代码转成callback的代码。这是开车和造车的区别。
当然了,不作编译器的一般马工,也不用关心这些。 |
|
z****e 发帖数: 54598 | 5 尝试着回答一下这个问题
1)做不到比os native的更好,但是问题在于,有些操作系统根本就没有cooperative
sheduling,比如linux,如果有的话,直接做一层包装就好了,但是没有的话,就只能
让语言来做了
2)不靠机器码,但是靠字节码,基本上就差不多了,光靠当前java的api,是不够的,
需要加多一个context参数,参考kotlin的coroutine实现,或者是通过java agent_织
入_一些context代码,这就是quasar的实现,这也是loom名称的由来
3)强在哪里呢
嗯,这个说来话长,说说我的理解
wdong有一篇回帖,解释了os层面cooperative scheduling和preemptive scheduling的
区别,有空自己去找,但是我觉得他说得复杂了,当然也因为后来用户层面框架的发展
,比如actor model有关系,看看我能不能解释清楚,这一块涉及的东西太多,os&jvm
和vert.x/actor model乃至开发者自身,都有需要配合的部分,任何一个部分不能掉链
子,所以解释起来不容易
先说os&jvm层面,这个是... 阅读全帖 |
|
发帖数: 1 | 6 A. Truphone简介:
Truphone(TP,真疯)是一家国际公司,有很多通讯业务,
这里只介绍本版感兴趣的预付电话SIM。
真疯的SIM在美国漫游到ATT或TMOBILE,用户可以自选。
所以语音质量不错,信号也比较有保障。
听说最近不能漫游到TMOBILE了,加上ATT将取消2G。大家选手机要注意。
真疯的最大特点是接电话和短信免费,通过一些手段可以做到电话和短信基本免费。
版上有老ID感慨半年才花了18美分。
http://www.mitbbs.com/article_t/CellularPlan/10835.html
真疯的客服天下第一。不光是能耐心的帮你解释并解决问题,
就一口地道的伦敦口音,听着也让人觉得舒服。
真疯目前最大的问题是不能接收短号码短信,比如银行验证码等。
真疯的详细介绍看这里。
https://www.truphone.com/us/
B. 真疯计划:
真疯预付电话SIM只有一个计划。接收电话短信免费,
在美国打出电话每分钟9美分,发短信每个9美分。数据每MB9美分。
只有数据比较贵,如果用其他公司的数据做补充,真疯是主力电话的很好的选择。
如果有双... 阅读全帖 |
|
发帖数: 1 | 7 A. Truphone简介:
Truphone(TP,真疯)是一家国际公司,有很多通讯业务,
这里只介绍本版感兴趣的预付电话SIM。
真疯的SIM在美国漫游到ATT或TMOBILE,用户可以自选。
所以语音质量不错,信号也比较有保障。
听说最近不能漫游到TMOBILE了,加上ATT将取消2G。大家选手机要注意。
真疯的最大特点是接电话和短信免费,通过一些手段可以做到电话和短信基本免费。
版上有老ID感慨半年才花了18美分。
http://www.mitbbs.com/article_t/CellularPlan/10835.html
真疯的客服天下第一。不光是能耐心的帮你解释并解决问题,
就一口地道的伦敦口音,听着也让人觉得舒服。
真疯目前最大的问题是不能接收短号码短信,比如银行验证码等。
真疯的详细介绍看这里。
https://www.truphone.com/us/
B. 真疯计划:
真疯预付电话SIM只有一个计划。接收电话短信免费,
在美国打出电话每分钟9美分,发短信每个9美分。数据每MB9美分。
只有数据比较贵,如果用其他公司的数据做补充,真疯是主力电话的很好的选择。
如果有双... 阅读全帖 |
|
i**********n 发帖数: 84 | 8 //+------------------------------------------------------------------+
//| FRASMA.mq4 |
//| Copyright © 2008, [email protected]
/* */ |
//| http://fractalfinance.blogspot.com/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, [email protected]
/* */"
#property link "http://fractalfinance.blogspot.c... 阅读全帖 |
|
t*****s 发帖数: 124 | 9 1. write a EnumWindowsProc callback function
2. call EnumWindows(...) and pass your callback function to it.
3. you will get a window handle in the callback funtion
4. with the handle (hWnd), you can get what you want about the window
for example:
RECT rc;
GetWindowRect(hWnd, &rc);
int height = rc.bottom - rc.top;
int width = rc.right - rc.left;
for more details, please search the msdn |
|
c*****t 发帖数: 1879 | 10 当然不能,因为不知道 this 是什么。如果 callback 里有你办法查出
this 在哪里,有个办法就是写个 static callback function 然后通过
这个 function 先找到 instance 然后再 call 该 instance 的 non-static
callback。 |
|
g**w 发帖数: 969 | 11 http://c2.com/cgi/wiki?VirtualStaticIdiom
class Foo
{
public:
Foo();
protected:
// Virtual static idiom <-- StaticCallback?()
virtual bool Callback();
private:
// Virtual static idiom --> Callback()
static bool StaticCallback?( void *pThis )
{
assert( pThis );
return ((Foo *)pThis)->Callback();
}
}; |
|
n********y 发帖数: 48 | 12 程序的基本结构如下所示,
class priceserv{
public:
priceserv(){
}
virtual ~priceserv(){
}
int run()
{
// connect to the price server
// waiting for the price events, and call the corresponding
callback function.
}
//callback function
bool on_quote(char *data)
{
//printf data
}
bool on_trade(char *data)
{
//printf data
}
bool on_depth(c... 阅读全帖 |
|
b***i 发帖数: 3043 | 13 不如你说说obj-c的delegate是干嘛的。
C#里面就是一个实现callback的类型,类似C的函数指针。
java是用Interface来实现callback的。你得定义一个类来implement一个interface实
现某个必须的函数,就可以callback了。 |
|
N********n 发帖数: 8363 | 14
Like someone already points out, asynchronous callback is basically
a 'goto' statement. If you can avoid goto in your code you improve
its quality a lot.
c# marks code w/ 'async' and 'await' keywords to tell compiler to
generate the tedious control code behind the scene for you. No need
of explicit asynchronous callbacks.
That way when you have to execute several asynchronous methods to
finish one job. You don't have to break it down into several "goto"
callbacks. You could wrap them up logical... 阅读全帖 |
|
d*******r 发帖数: 3299 | 15 closure accesses external mutable variables 挺危险的... WebStorm 是要报
warning 的呀
我觉得这个理解是对的:
如果想 callback 里的逻辑使用 callback 注册时候的 someObjectRef 的值,岂不是
传入 callback 的时候就得 copy/clone someObjectRef 当时的值?
... ...
这样做的话,就有点像其他 concurrent 模型里面的 "send a variable copy through
a message, but not give reference to the variable". |
|
d*******r 发帖数: 3299 | 16 我是觉得这个理解比较有意思:
如果想 callback 里的逻辑使用 callback 注册时候的 someObjectRef 的值,岂不是
传入 callback 的时候就得 copy/clone someObjectRef 当时的值?
这样做的话,就有点像其他 concurrent 模型里面的 "send a variable copy through
a message, but not give reference to the variable". 也就是说,Node.js 这种
single threaded 的模型,其实也是要隐性处理 issue of accessing shared
variables 的. |
|
L***s 发帖数: 1148 | 17
debugging callback hell还是比较痛苦的。我觉得困难倒不在于callback本身,
而在于levels of indirection。“Every problem can be solved with
another level of indirection”——于是indirection容易被滥用,
读代码时大脑很容易爆栈。
就js而言,client端可以在runtime用browser来debug(比如chrome你可以开
async mode看call stack),30层callback捉虫起来困难也不是太大。
server端就比较麻烦,我一直没有找到称手的工具,一直是console.log大法。 |
|
A*******e 发帖数: 2419 | 18 lambda里会出现这种情况:
using Callback = std::function;
vector foo_list;
Callback foo_callback = [&foo_list](Foo foo) {
foo_list.emplace_back(std::move(foo));
}
这是因为下面的函数被认为是同一个函数?
void f(const Foo& foo);
void f(Foo foo);
总觉得上面的用法怪怪的。是不是直接声明为下面这个较好?由caller决定传foo时要
不要move。
using Callback = std::function; |
|
z****e 发帖数: 54598 | 19 昨晚看了看,大概是这么一回事
这个东西主要是用来解决callback hell滴
也就是各种恶心的金字塔
让异步之后的处理变得更为flat
而不用担心被blocked
具体的做法是
1)把quasar的lib放入vert.x的lib文件夹下
2)更改extends的class
3)同时启动时候需要加参数
4)最后需要在你使用的方法上加入@Suspendable这个annotation
从这几点上看,还是略微折腾了点
离傻瓜化还有距离,不过anyway,千里之行
解决的问题呢,就是Future之后的future.get, body这些方法
调用的时候都不会block当前的thread,所以可以直接像Future例子一样用async
而不用担心被blocked
以前Future future = awaitResult...
然后future.get();这一步是blocked,如果要想不blocked
就需要callback which会制造出金字塔来
或者rxjava/promise这种publish/subscribe模式,但是略显得麻烦
用了这个之后,这一步就不是blocked
就... 阅读全帖 |
|
l**********n 发帖数: 8443 | 20 在js里,定义inheritance, 很容易
util.inherits(clazz, super-clazz).
其实主要是这两个语言的callback最舒服。
在ruby里定义around:
@around = lambda { |*a, &b| @around.call(*a) { |*b| callback.call(*b, &b)}}.
js的callback就不用说了 |
|
H****S 发帖数: 1359 | 21 根本没有future.get,future直接被register一个callback把值传给下个单元。rxjava
的好处是所有的callback aligned up as a stream,所以不用去担心callback hell的
问题。 |
|
q******n 发帖数: 66 | 22 如果我comment out line 88, 就没问题。 各为大牛, handle_database有什么问题吗?
{code}
1 var express = require('express');
2 var app = express();
3 var mysql = require('mysql');
4 var pool = mysql.createPool({
5 connectionLimit : 100, //important
6 host : 'localhost',
7 user : 'root',
8 password : '',
9 database : 'callback',
10 debug : false
11 });
12
13 function handle_database(req,res) {
1... 阅读全帖 |
|
c*********e 发帖数: 16335 | 23 86 // POST http://localhost:8080/callback/forfun
87 app.post('/callback/forfun’, function(req, res) {
88 handle_database(req,res);
89 res.sendStatus(200);
90 res.end();
91 }).setMaxListeners(0);
说明你没弄懂node.js的异步是啥意思,还有callback.
吗? |
|
w*******i 发帖数: 186 | 24 我觉得递归还是很有用的,而且有时还会有一些很奇妙的用法。比如有一堆callback,
其中有sync和async的,不同callback之间还有dependency,为了保证async的callback
也能遵守dependency,目前发现利用recursion是最简单的方法。 |
|
w*s 发帖数: 7227 | 25 大牛,this is the best i can get,
How to improve it please, basically i'm lost in the callback for the 2nd one.
Also the db.close() is always called before the 2nd query finishes, even i
have serialize().
var getInfo1Db = function(callback) {
var db = new sqlite3.Database("DB.sqlite3");
var cnt = 0;
var info1JsonObj = [];
db.all("select * from Info1DB",
function(err, rows) {
db.serialize(function() {
for(var ii=0, len=rows.length; ii阅读全帖 |
|
z****e 发帖数: 54598 | 26
我们先找一个共识
就是在一个core上做
很容易,因为没有lock
对吧?这个是所有人都认可的
然后在这个基础之上,我们有两条路可以走
一种是直接上coroutine,要求coroutine解决多核环境下调度的问题
这就是go走的这条路,我相信这条路不好走
也需要“牛得不得了的人”才能搞定,很有可能
另外一条路是这样,你先放下这个问题,我们继续往前走
看看有没有其他的路,找啊找
诶,突然发现,有一条路叫做actor model
可以通过eventloop这种方式,把原来一大票线程给降下来
为什么呢?原理很简单,原先io的时候,同步api无论如何
要占用一个线程,给我等着
异步api的好处就是可以马上释放调用线程
这样我们可以复用同一个线程,然后对于我们常见的场景
也就是那些大量crud的业务场景
基本上都是io bound的场景,所以可以通过少量线程就能host住大量的请求
比如原来用tomcat,要几千个线程的线程池
现在只需要20多个就行了,甚至用1core 1g的机器,也就是2个eventloop,记住这个关
键字
以后你会经常遇到,spring都开始eventloop,spr... 阅读全帖 |
|
x*********0 发帖数: 651 | 27 我的google voice 连着2个电话,本来只要打我的号码,2个电话都会响。后来装了
gvoice callback.不管设置哪个回拨号码,发现就只有一个电话响了。但是我直接打那
个不响电话的号码,还是可以接到电话的。不响的那个电话是安装了gvoice callback.
想问问大家有没有这种情况,是不是什么设置不对。
我后来卸载gvoice callback,还是不行。 |
|
e*****r 发帖数: 326 | 28 Gvoice Callback一些设置的选项如下
1.Google account:你自己gv的google account
2.Outgoing call integration : enable
3.callback numbers: 你的truphone number
4.Merge call back with outgoing call: enable
5.auto answer for native dialer: enable
还有就是不要让那些安全软件禁止Gvoice callback自启,不然拨号时候没法拉起来就
成了直接拨号了 |
|
r****t 发帖数: 10904 | 29 这个办法没有用 call file, 用 call file 应该也可以。
in /etc/cron.monthly:
#!/bin/sh
asterisk -rx 'originate LOCAL/MY_IPKALL_NUMBER@outbound-gv extension s@say-
hello'
in extensions.conf or any file included by it:
[say-hello]
exten => s,1,Answer
exten => s,n,Background(hello)
exten => s,n,Wait(5)
exten => s,n,Hangup()
这样自动打出就设好了,自动 pick up 需要修改 ipkall 打进的 context.
我这叫做 [from-ipkall] 需要做判断,(以下把your-gv-number-used-to-make-this-call 改成你的 gv 号就行),实际上这个 context 里面并没有用到任何 ipkall 的号码,所以适用于任何需要周期性的打入来保持使用的 voip 帐号,只要... 阅读全帖 |
|
f*********e 发帖数: 8453 | 30 参考前面帖子在pogo上跑了asterisk服务。用IPTel和IPKall的免费服务和号码。前几
天还好,昨天突然dumb平板上的软电话频繁收到google voice转的电话(206xxxxxx)。
按接听也听不见声音。看GV历史记录发现全是一些陌生号码,基本间隔一两分钟一个。
有的还是收费电话,GV扣了钱。奇怪的是除了软电话GV连的其他电话都不响。停了
asterisk server之后软电话就不提示有电话进来了。打开
asterisk console看见一堆转接信息,也不知道啥意思。下面贴几个例子:
== Parsing '/etc/asterisk/asterisk.conf': == Found
Privilege escalation protection disabled!
See https://wiki.asterisk.org/wiki/x/1gKfAQ for more details.
== Parsing '/etc/asterisk/extconfig.conf': == Found
Connected to Asterisk 1.6.2.... 阅读全帖 |
|
j*******7 发帖数: 6300 | 31
native
大众也都没有时间研究这个论文。不过Canada媒体广泛报道了那个研究,论调和我前面
讲的一样,你想新移民出去找工作会作何抉择? 起个洋名可能加分还想这么多?
节选:
One of the most striking results from this work is the substantial
difference in callback rates as a result of simply changing an applicant’s
name. Applicants with English-sounding names received callbacks 40 percent
more often than applicants with Chinese, Indian, or Pakistani names. That
gap is not far off from the one found in the United States between
traditional white and traditional black names (50 ... 阅读全帖 |
|
|
d*****s 发帖数: 5610 | 33 楼主听错了吧,黑人名字更难拿到面试机会。
这里有一篇文章
http://www.nber.org/digest/sep03/w9873.html
Job applicants with white names needed to send about 10 resumes to get one
callback; those with African-American names needed to send around 15 resumes
to get one callback."
很多top school社会科学的老板在中国学生找工作前,都建议中国学生改名,就是因为
这些研究结果。 |
|
X***9 发帖数: 7385 | 34
apr
像你这种吃饭一般都不给或尽可能的少给小费吧?车行帮你申请贷款赚银行给的小费你
还不情愿?
下次你可以直接付现金。
我不相信除非厂家银行规定必须贷款才能做的deal你如果选择付现金车行会不同意。
给了的apr又是多高呢?你又坎下来多少呢?不同银行规定不同callback不同你没看懂
吗?
自己的时间才是时间,车行的时间就不是时间吗?
如果车行会努力帮客人在原有callback的基础上再三番五次的帮你递交别的申请,或打
电话给银行的buyer rehash deal而帮你贷到款的时候,你不但没有感恩反倒觉得恶心
。车行最烦这种人了,应该直接给你指门在哪里,或是告诉你附近的银行怎么走。
可能大家会好奇车行最讨厌什么人,死命杀价的?只看不买的?不是,是那些你好意帮
他他却认为你在黑他的人,很奇怪的是,不知道是不是中国国情所致,这部分人基本上
都是刚来的留学生。这里不要误会不是所有来的留学生都有这种思维。
可能是国内摔倒不敢扶的影响太深了,觉得车行的人怎么可能不想尽一切办法黑自己呢
? |
|
X***9 发帖数: 7385 | 35
apr
像你这种吃饭一般都不给或尽可能的少给小费吧?车行帮你申请贷款赚银行给的小费你
还不情愿?
下次你可以直接付现金。
我不相信除非厂家银行规定必须贷款才能做的deal你如果选择付现金车行会不同意。
给了的apr又是多高呢?你又坎下来多少呢?不同银行规定不同callback不同你没看懂
吗?
自己的时间才是时间,车行的时间就不是时间吗?
如果车行会努力帮客人在原有callback的基础上再三番五次的帮你递交别的申请,或打
电话给银行的buyer rehash deal而帮你贷到款的时候,你不但没有感恩反倒觉得恶心
。车行最烦这种人了,应该直接给你指门在哪里,或是告诉你附近的银行怎么走。
可能大家会好奇车行最讨厌什么人,死命杀价的?只看不买的?不是,是那些你好意帮
他他却认为你在黑他的人,很奇怪的是,不知道是不是中国国情所致,这部分人基本上
都是刚来的留学生。这里不要误会不是所有来的留学生都有这种思维。
可能是国内摔倒不敢扶的影响太深了,觉得车行的人怎么可能不想尽一切办法黑自己呢
? |
|
w****a 发帖数: 6326 | 36 自己家的地址一直不敢搞。用一个免税州的地址,结果都运出来的全被callback了,估
计那个地址有问题。
这个说明现在HP玩不起了,对了callback的多久还钱? |
|
d*****r 发帖数: 3762 | 37 FedEx callback not reliable at all. I had two packages callback last year,
both delivered, and I lost more than $100! |
|
d*****1 发帖数: 8618 | 38 日神要的是callback吧 不是cancel
bless
fedex callback很不靠谱
transaction |
|
R********0 发帖数: 4134 | 39 【Re, 版上做生意就是要讲协议,明明是你从一开始就违反协议,出了问题自然是你全责
。你发货时可没按要求给receipt,发了几张bb的receipt糊弄人家。神医是基于对你的
信任让你发货的,结果自己损失这么多。让神医call back的时候可没说是rs的机器,
你以为国际包裹callback这么容易啊,何况你offer神医提供callback的损失吗?】
你是谁??你可真能编瞎话啊,你哪个眼睛看到我发BB receipt糊弄人家了?伪神医损
失几个钱你知道吗?一出事他就让我把利润先打过去然后他自己700多一台有锁的卖给
下家(他自己邮件说的啊),剩下的全部我来退,还没说运费谁承担,你说他损失几分
钱? 你还说伪神医损失因为里面是rs的机器,先不说他要是分到我BB的货,他照样有
锁,伪神医明明就是自己利欲熏心,明知BB有锁并且有机会call back却不干,为什么
?还不就是凭着我的货里面有其他家的机器,rs的还没有人报告有锁,他想侥幸赌我的货
。如果call back损失多少钱一台你知道吗?$5/iPhone啊,我完全出得起(我少请朋友
吃顿饭就行了),你估计你也出的起吧。他为什么... 阅读全帖 |
|
s***o 发帖数: 824 | 40 Re, 版上做生意就是要讲协议,明明是你从一开始就违反协议,出了问题自然是你全责
。你发货时可没按要求给receipt,发了几张bb的receipt糊弄人家。神医是基于对你的
信任让你发货的,结果自己损失这么多。让神医call back的时候可没说是rs的机器,
你以为国际包裹callback这么容易啊,何况你offer神医提供callback的损失吗?
说partner给你出坏主意,那是人家神医钱在你手上没办法。要不是一开始你利欲薰心
拿rs的机器冒充bb的,怎么会有这么多问题。理论上说你根本就应该全额退款外加赔偿
神医运费和拖工费。说的严重点,神医和下家因为你这批货损失了多少本来因该赚到的
利润还不知道呢,这个是不是理论上也应该你赔?你捏着钱在手里,神医没办法已经答
应帮你出restock fee什么的,叫我说就是对你太厚道了。
还有,明明是自己欺瞒在先,还要恶人先告状,还扯上不相关的别人。你回复这么多,
都避重就轻,有本事你先解释一下你到底为啥拿rs的机器冒充bb的出给神医
radi |
|
R********0 发帖数: 4134 | 41 【 以下文字转载自 ebiz 讨论区 】
发信人: Richard630 (Richard), 信区: ebiz
标 题: zhangzh1985/happylux 你们请的马甲shiro也太不专业了
发信站: BBS 未名空间站 (Sun Nov 20 02:38:42 2011, 美东)
【Re, 版上做生意就是要讲协议,明明是你从一开始就违反协议,出了问题自然是你全责
。你发货时可没按要求给receipt,发了几张bb的receipt糊弄人家。神医是基于对你的
信任让你发货的,结果自己损失这么多。让神医call back的时候可没说是rs的机器,
你以为国际包裹callback这么容易啊,何况你offer神医提供callback的损失吗?】
你是谁??你可真能编瞎话啊,你哪个眼睛看到我发BB receipt糊弄人家了?伪神医损
失几个钱你知道吗?一出事他就让我把利润先打过去然后他自己700多一台有锁的卖给
下家(他自己邮件说的啊),剩下的全部我来退,还没说运费谁承担,你说他损失几分
钱? 你还说伪神医损失因为里面是rs的机器,先不说他要是分到我BB的货,他照样有
锁,伪神医明明... 阅读全帖 |
|
r****x 发帖数: 1250 | 42 运行程序时总是有这个出错信息:
OS version: 5.1.2600.196608
okeoke version: 2.3.2.0
Program Folder: G:\OkeOke.Net\
Object reference not set to an instance of an object.
at OkeOke.Net.Controls.PlayListPanel.<_player_OnPlayerStopped>b__1() in D
:\Dev\OkeOke\OkeOke.Net\Controls\PlayListPanel.xaml.cs:line 566
at OkeOke.Net.Execute.<>c__DisplayClass2.b__0(
Action action) in D:\Dev\OkeOke\OkeOke.Net\Utilities\Execute.cs:line 26
at OkeOke.Net.Execute.OnUIThreadAsync(Action action) in... 阅读全帖 |
|
r****x 发帖数: 1250 | 43 运行程序时总是有这个出错信息:
OS version: 5.1.2600.196608
okeoke version: 2.3.2.0
Program Folder: G:\OkeOke.Net\
Object reference not set to an instance of an object.
at OkeOke.Net.Controls.PlayListPanel.<_player_OnPlayerStopped>b__1() in D
:\Dev\OkeOke\OkeOke.Net\Controls\PlayListPanel.xaml.cs:line 566
at OkeOke.Net.Execute.<>c__DisplayClass2.b__0(
Action action) in D:\Dev\OkeOke\OkeOke.Net\Utilities\Execute.cs:line 26
at OkeOke.Net.Execute.OnUIThreadAsync(Action action) in... 阅读全帖 |
|
h**6 发帖数: 4160 | 44 已知n个文件,和异步写单个文件的函数,void writeFile(int fileIndex, callback
cb); 其中callback是std::function
现在需要以递不减的顺序写文件,即可能是1、2、3、3、5、5、7、12这样可重复可跳
过无返回的顺序。
要求写出另一个异步写单个文件的函数,调用writeFile,但确保不会同时写同一文件
。 |
|
j********x 发帖数: 2330 | 45 简洁也要看问题背景,语言设计的时候是考虑应用场景,象node,强调的应该是
callback就是一切,一切都是callback,从理念到实现试图贯彻这个实现来解决它原先
设计来解决的问题,比如异步io |
|
b***e 发帖数: 1419 | 46 你们用不用async之类的lib来减少nested callback function到层数, 还是直接生写
callback passing? |
|
A*****i 发帖数: 3587 | 47 大牛快别再笑话我了,前两天刚被一个基本问题撂倒觉得js的皮毛都没弄透啊
A:
function a(data, callback) {
return callback(data);
}
function b(data) {
do something
}
a(data, b);
B:
function a(data) {
return function(data) {
do something
}
}
a(data);
A和B内部区别是啥?换句话说为啥A可以直接调用,B却是closure? |
|
c*****n 发帖数: 123 | 48 谢谢大家的鼓励!好温暖!会继续加油的!
补个面经:
Pure Storage onsite, 第一轮问的是一个api,每次register的时候需要call一个
callback,但是在event被触发之前call的callback都不能成功被call,在event被触发
之后call的都可以,同时之前delay的call也要成功call,让写具体的function如何
work。还问了multithreading的问题。第二轮是类似LRU cache的题目。
祝大家offer多多~ |
|
A*******e 发帖数: 2419 | 49 不就是一个池子,一个flag吗?一开始为假,积累callback,为真后,将所有累积的
callback执行。
event
multithreading |
|