diff --git a/README.md b/README.md index d59bc7c..d67aaa7 100644 --- a/README.md +++ b/README.md @@ -65,8 +65,8 @@ let timer = JSTimer(millisecondsDelay: 1000, isRepeating: true) { let jsonPromise = JSPromise(jsonObj) else { return JSPromise(resolver: { resolve in - resolve(.failure(JSPromise.PromiseError(.string("Unexpected response shape")))) - return .undefined + // Resolver rejection value is a raw JSValue (boxed into PromiseError downstream). + resolve(.failure(.string("Unexpected response shape"))) }).publisher } return jsonPromise.publisher diff --git a/Sources/OpenCombineJS/Documentation.docc/OpenCombineJS.md b/Sources/OpenCombineJS/Documentation.docc/OpenCombineJS.md index 5321272..b18fe6b 100644 --- a/Sources/OpenCombineJS/Documentation.docc/OpenCombineJS.md +++ b/Sources/OpenCombineJS/Documentation.docc/OpenCombineJS.md @@ -130,11 +130,12 @@ let timer = JSTimer(millisecondsDelay: 1000, isRepeating: true) { .flatMap { responseValue -> JSPromise.PromisePublisher in guard let obj = responseValue.object, let jsonFn = obj.json.function, - let jsonObj = jsonFn().object, + // `Response.json` must be called with the response as `this` (#24). + let jsonObj = jsonFn(this: obj).object, let jsonPromise = JSPromise(jsonObj) else { return JSPromise(resolver: { resolve in - resolve(.failure(JSPromise.PromiseError(.string("bad response")))) - return .undefined + // Resolver rejection value is a raw JSValue (boxed into PromiseError downstream). + resolve(.failure(.string("bad response"))) }).publisher } return jsonPromise.publisher