mirror of
https://github.com/Ylianst/MeshAgent
synced 2026-01-06 02:23:59 +00:00
1. Updated EncryptionStream.GenerateRandom to return a node JS buffer
2. Fixed bug in promise
This commit is contained in:
@@ -229,6 +229,7 @@ duk_ret_t ILibDuktape_EncryptionStream_generateRandom(duk_context *ctx)
|
||||
duk_push_fixed_buffer(ctx, duk_require_int(ctx, 0));
|
||||
buffer = Duktape_GetBuffer(ctx, -1, &bufferLen);
|
||||
util_random((int)bufferLen, buffer);
|
||||
duk_push_buffer_object(ctx, -1, 0, bufferLen, DUK_BUFOBJ_NODEJS_BUFFER);
|
||||
return 1;
|
||||
}
|
||||
void ILibDuktape_EncryptionStream_PUSH(duk_context *ctx, void *chain)
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -225,7 +225,31 @@ function Promise(promiseFunc)
|
||||
|
||||
var retVal = new Promise(function (r, j) { this._rej = j; });
|
||||
retVal._internal._haltUncaught = true;
|
||||
|
||||
if (this._internal.completed)
|
||||
{
|
||||
// This promise was already resolved, so lets check if the handler returned a promise
|
||||
var rv = this._internal.emit_returnValue('resolved');
|
||||
if(rv!=null)
|
||||
{
|
||||
if(rv._ObjectID == 'promise')
|
||||
{
|
||||
rv._internal.once('resolved', retVal._internal.resolver);
|
||||
}
|
||||
else
|
||||
{
|
||||
retVal._internal.resolver(rv);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this._internal.once('resolved', retVal._internal.resolver);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
this._internal.once('resolved', retVal._internal.resolver);
|
||||
}
|
||||
this._internal.once('rejected', retVal._internal.rejector);
|
||||
retVal.parentPromise = this;
|
||||
this.__childPromise = retVal;
|
||||
|
||||
Reference in New Issue
Block a user